Vou resumir aqui rapidamente como exportar e importar grandes volumes de dados do MySQL, e um problema comum.

Exportar

Para exportar os dados, vamos usar o comando mysqldump, que acompanha o MySQL. Para usá-lo, é preciso usar a linha de comando, com a seguinte sintaxe:

mysqldump -u meuusuario -p minhabase > meuarquivo.sql

Onde meuusuario, e minhadatabase devem ser substituídos por seus respectivos valores. O parâmetro -p indica que seu usuário requer uma senha (que será perguntada a você logo após executar o comando).

O nome do arquivo pode ser o que você achar mais conveniente. Nele estarão, em modo texto, todos seus dados e toda a estrutura.

Importar

Arquivo gerado, hora de restaurá-lo em outro servidor. Na linha de comando do servidor, basta executar:

mysql -u meuusuario -p --database minhabase < meuarquivo.sql

Problemas com packet size

Se o tamanho do arquivo gerado é muito grande, talvez seja preciso alterar o tamanho máximo suportado por padrão pelo MySQL.

A mensagem de erro que o MySQL exibe na hora de importar o arquivo, varia de sistema pra sistema.

No Linux a mensagem é: “ERROR 1153 (08S01): Got a packet bigger than ‘max_allowed_packet’ bytes”.

No Windows, é: “ERROR 2006 (HY000): MySQL server has gone away” (muito amigável, não?).

Para resolver, é possível alterar o valor de max_allowd_packet_size na hora de exportar:

mysqldump -u meuusuario -p minhabase --max_allowed_packet=200MB > meuarquivo.sql

Ou, se quiser tornar isso permanente, edite o arquivo de configuração do MySQL, geralmente é o my.ini, e altere (ou crie, se não existir) o valor do atributo max_allowed_packet, como por exemplo:

max_allowed_packet=200M