Eu não acho que haja uma maneira de ignorar a adição de
DEFINER
s para o lixão. Mas existem maneiras de removê-los após a criação do arquivo de despejo. -
Abra o arquivo de despejo em um editor de texto e substitua todas as ocorrências de[email protected]
com uma string vazia ""
-
Edite o dump (ou canalize a saída) usandoperl
:
perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
-
Enviar a saída por meio desed
:
mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql