Recentemente, comecei um novo projeto na Sevilha Contabilidade. Por ser uma contabilidade que está a 25 anos no mercado, a base de dados dela é um pouco grande. Por isso, precisei procurar na internet uma forma de exportar/importar o banco de dados deles para ter um ambiente de desenvolvimento local.</p> <p>A maioria dos programadores utilizam o PHPMyAdmin para gerenciar as bases de dados MySQL, essa ferramenta é excelente e muito boa, na minha opinião. Porém algumas operações que precisamos fazer no MySQL não podem ser realizadas pela interface do PHPMyAdmin. Uma delas é a importação/exportação de grandes bases de dados.

Abaixo seguem alguns comandos que utilizei para a importação/exportação dessa base de dados. Nos códigos abaixo, por favor, mude:

[USERNAME] pelo seu usuário do MySQL;<br />[DBNAME] pelo nome do banco de dados;<br />[/path_to_mysql/] pelo caminho até o executável do MySQL. <br />(Se você usa o xampp: c:xamppmysqlbin )

<strong>Copiando/Exportando uma base de dados</strong><br />O MySQL não tem uma função de cópia. Para fazer uma cópia do banco de dados, você precisa realizar um DUMP do banco de dados. Para fazer isso, você pode usar o seguinte comando.

mysqldump -u [USERNAME] -p [DBNAME] | gzip > [/path_to_file/DBNAME].sql.gz

Isso pedirá sua senha e exportará em GZIP sua base de dados. Prefira fazer usando o GZIP e depois você descompacta o arquivo, fica bem mais rápido.</p> <p><strong>Importando uma base de dados grande</strong>

Para importar o banco, você precisa descompactar o arquivo.

Para isso, utilize o  WinRar por exemplo ou outro programa que goste e tenha a funcionalidade de descompactar esse tipo de arquivo ou faça dessa forma aqui:

gzip -d [/path_to_file/DBNAME].sql.gz

O resultado disso será o script <strong>.sql</strong>

Com posse do script execute o seguinte comando que solicitará a senha do usuário:

[/path_to_mysql/]mysql -u [USERNAME] -p

Após ter logado com sucesso. Execute os seguintes comandos:

SHOW DATABASES;<br />DROP DATABASE [DBNAME];<br />CREATE DATABASE [DBNAME];<br />USE [DBNAME];<br />SOURCE [/path_to_file/DBNAME].sql;

<strong>Observações</strong>

<strong></strong>Este artigo é uma tradução/outra versão deste: <a rel="nofollow" href="http://www.lullabot.com/blog/importexport-large-mysql-databases" target="_blank">www.lullabot.com</a>

<a rel="nofollow" href="http://www.lullabot.com/blog/importexport-large-mysql-databases" target="_blank"></a>No artigo original tem mais um item que é o DUMP Condicional. Eu não coloquei neste artigo para deixar mais simples, mas se quiser, acesse o artigo original e leia sobre isso.