Backup do MySQL do jeito certo

Um dia desses precisei fazer a restauração de uma base MySQL a partir de um backup e para minha surpresa, a codificação de caracteres ficou errada. Vejam como é a forma correta.

Backup

Eu sempre usei o comando mysqldump da seguinte forma:

 
mysqldump -uroot -p database > utf8.dump 

Mas isso pode gerar um problema de codificação de caracteres a depender do ambiente usado. A forma correta é:

mysqldump -uroot -p database -r utf8.dump

Se o servidor não está configurado para UTF-8, adicione a opção de linha de comando
--default-character-set=latin1

Restauração/Importação

Eu sempre fiz assim:

mysql -u username -p database < dump_file

Mas na verdade, a melhor forma é entrando na linha de comando e usando os seguintes comandos:

mysql -uroot -p --default-character-set=utf8 database
mysql> SET names 'utf8'
mysql> SOURCE utf8.dump

Pronto. Era só isso por hoje. Até a próxima.

Fonte: Dumping and importing from/to MySQL in an UTF-8 safe way