A melhor maneira de excluir linhas duplicadas por várias colunas é a mais simples:
Adicione um índice EXCLUSIVO:
ALTER IGNORE TABLE your_table ADD UNIQUE (field1,field2,field3);
O IGNORE acima garante que apenas a primeira linha encontrada seja mantida, o restante descartado.
(Você pode descartar esse índice se precisar de duplicatas futuras e/ou souber que elas não acontecerão novamente).