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.

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;
[DBNAME] pelo nome do banco de dados;
[/path_to_mysql/] pelo caminho até o executável do MySQL.
(Se você usa o xampp: c:xamppmysqlbin )

Copiando/Exportando uma base de dados
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.

Importando uma base de dados grande

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 .sql

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;
DROP DATABASE [DBNAME];
CREATE DATABASE [DBNAME];
USE [DBNAME];
SOURCE [/path_to_file/DBNAME].sql;

Observações

Este artigo é uma tradução/outra versão deste: www.lullabot.com

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.