Importar e exportar bancos de dados no MySQL usando a linha de comando ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
10.12.2024

Importar e exportar bancos de dados no MySQL usando a linha de comando

Gerenciar backups e migrações de bancos de dados é uma tarefa essencial para qualquer administrador de banco de dados MySQL. Usando a linha de comando, você pode facilmente exportar bancos de dados para arquivos de backup ou importá-los para um novo ambiente. Este guia aborda como importar e exportar bancos de dados no MySQL usando a linha de comando.

Pré-requisitos

Antes de começar, certifique-se de que:

  • O MySQL está instalado e em execução em seu servidor ou máquina local.
  • Você tem acesso a um terminal ou linha de comando.
  • Você tem as credenciais necessárias do MySQL, incluindo o nome de usuário e a senha.

Exportação de bancos de dados com o mysqldump

O utilitário mysqldump é a ferramenta padrão para exportar bancos de dados no MySQL. Ele cria um arquivo .sql que contém as instruções SQL necessárias para recriar o banco de dados.

1. Exportar um único banco de dados

Para exportar um único banco de dados, use a seguinte sintaxe:

mysqldump -u [nome de usuário] -p [nome_do_banco_de_dados] > [nome_do_arquivo].sql
  • -u [nome de usuário]: O nome de usuário do MySQL.
  • -p: Solicita a senha do MySQL.
  • [database_name]: O nome do banco de dados que você deseja exportar.
  • [filename].sql: O nome do arquivo de saída que conterá o backup do banco de dados.

Exemplo:

mysqldump -u root -p mydatabase > mydatabase_backup.sql

Esse comando solicitará a senha do usuário root e criará um arquivo chamado mydatabase_backup.sql contendo todos os dados e a estrutura do mydatabase.

2. Exportar vários bancos de dados

Para exportar vários bancos de dados, use o sinalizador –databases seguido dos nomes dos bancos de dados:

mysqldump -u [nome de usuário] -p --databases [banco de dados1] [banco de dados2] > [nome do arquivo].sql

Exemplo:

mysqldump -u root -p --databases db1 db2 > multiple_databases_backup.sql

Esse comando exportará db1 e db2 para multiple_databases_backup.sql.

3. Exportar todos os bancos de dados

Para exportar todos os bancos de dados em seu servidor MySQL, use o sinalizador –all-databases:

mysqldump -u [nome de usuário] -p --all-databases > all_databases_backup.sql

Exemplo:

mysqldump -u root -p --all-databases > all_databases_backup.sql

Isso cria um backup completo de todos os bancos de dados em all_databases_backup.sql.

4. Exportar somente a estrutura da tabela (sem dados)

Se você precisar apenas da estrutura das tabelas sem os dados, adicione o sinalizador –no-data:

mysqldump -u [ nome_de_usuário ] -p --no-data [nome_do_banco_de_dados] > structure_only.sql

Exemplo:

mysqldump -u root -p --no-data mydatabase > structure_only.sql

5. Exportar tabelas específicas

Para exportar tabelas específicas de um banco de dados, liste-as após o nome do banco de dados:

mysqldump -u [nome de usuário] -p [nome_do_banco_de_dados] [tabela1] [tabela2] > [nome_do_arquivo].sql

Exemplo:

mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql

Importação de bancos de dados com o mysql

Para importar um banco de dados de um arquivo SQL, use o comando mysql.

1. Importar um único banco de dados

Para importar um arquivo SQL para um banco de dados MySQL, use o seguinte comando:

mysql -u [nome de usuário] -p [nome_do_banco_de_dados] < [nome_do_arquivo].sql
  • -u [nome de usuário]: O nome de usuário do MySQL.
  • -p: Solicita a senha do MySQL.
  • [database_name]: O nome do banco de dados para o qual os dados serão importados.
  • [filename].sql: O nome do arquivo .sql a ser importado.

Exemplo:

mysql -u root -p mydatabase < mydatabase_backup.sql

Esse comando solicitará a senha do usuário root e importará o conteúdo do mydatabase_backup.sql para o mydatabase.

2. Importar para um novo banco de dados

Se quiser importar para um novo banco de dados, primeiro será necessário criar o banco de dados e depois importar o arquivo .sql.

Etapa 1: Crie um novo banco de dados.

mysql -u [nome de usuário] -p -e "CREATE DATABASE [new_database_name];"

Etapa 2: importe o arquivo .sql para o novo banco de dados.

mysql -u [nome de usuário] -p [nome_do_novo_banco_de_dados] < [nome do arquivo].sql

Exemplo:

mysql -u root -p -e "CREATE DATABASE newdatabase;"
mysql -u root -p newdatabase < mydatabase_backup.sql

3. Importar todos os bancos de dados

Se você fez backup de todos os bancos de dados usando --all-databases, poderá importá-los novamente usando:

mysql -u [nome de usuário] -p < all_databases_backup.sql

Exemplo:

mysql -u root -p < todos_bancos_de_dados_backup.sql

Esse comando restaurará todos os bancos de dados contidos no arquivo all_databases_backup.sql.

Dicas para usar o mysqldump e o mysql

  • Use a compactação: Para economizar espaço em disco e tempo de transferência, você pode compactar o arquivo de backup usando o gzip:
    mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz

    E para importá-lo:

    gunzip < mydatabase_backup.sql.gz | mysql -u root -p mydatabase
  • Verificar o banco de dados antes da importação: Certifique-se de que o banco de dados para o qual você está importando esteja vazio ou contenha dados compatíveis para evitar conflitos.
  • Verifique o conjunto de caracteres: Se estiver lidando com caracteres não ASCII, certifique-se de exportar e importar com o conjunto de caracteres correto usando a opção --default-character-set:
    mysqldump -u root -p --default-character-set=utf8 mydatabase > mydatabase_backup.sql
  • Tratamento de erros: Se encontrar erros durante a importação, verifique se há problemas comuns, como bancos de dados ou estruturas de tabela ausentes, e certifique-se de que o arquivo .sql esteja completo.

Resumo

Exportar e importar bancos de dados MySQL usando a linha de comando é simples com o mysqldump e o mysql. Essas ferramentas permitem flexibilidade no gerenciamento de backups, na migração de bancos de dados entre servidores e na criação de exportações somente de estrutura ou específicas de dados. Ao compreender os comandos e suas opções, você pode garantir operações de banco de dados sem problemas e manter a integridade dos dados durante as transferências.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills