Como copiar um banco de dados MySQL

Resumo : Este tutorial mostra como copiar um banco de dados MySQL no mesmo servidor MySQL e de um servidor para outro.

Copie um banco de dados MySQL no mesmo servidor

Supondo que você já tenha as ferramentas cliente mysqldump e mysql instaladas em seu computador ou no servidor de banco de dados, você pode prosseguir com a execução delas.

Se essas ferramentas estiverem instaladas em sua máquina local, você poderá executar os comandos diretamente. Caso contrário, se as ferramentas estiverem localizadas no servidor de banco de dados, você precisará conectar-se ao servidor para executar os comandos.

Copiar banco de dados MySQL

Para copiar um banco de dados MySQL, você precisa seguir estas etapas:

  • Primeiro, crie um novo banco de dados usando CREATE DATABASEa instrução.
  • Segundo, exporte todo o banco de dados do qual você deseja copiar usando a mysqldumpferramenta para um arquivo de dump SQL.
  • Terceiro, importe o arquivo de dump SQL para o novo banco de dados usando a mysqlferramenta.

A imagem a seguir ilustra as etapas:

mysql copiar banco de dados MySQL um servidor

Para a demonstração, copiaremos o classicmodels banco de dados de amostra para classicmodels_backupbanco de dados.

Passo 1 . Crie o classmodels_backupbanco de dados:

Primeiro, faça login no servidor de banco de dados MySQL:

mysql -u root -pLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Em seguida, use CREATE DATABASEa instrução para criar um novo banco de dados:

CREATE DATABASE classicmodels_backup;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, use o SHOW DATABASEScomando para verificar:

SHOW DATABASES;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O servidor de banco de dados MySQL retorna a seguinte saída:

+----------------------+
| Database             |
+----------------------+
| classicmodels        |
| classicmodels_backup |
| information_schema   |
| mysql                |
| performance_schema   |
| sys                  |
+----------------------+
6 rows in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A saída mostra que o classicmodels_backupbanco de dados foi criado com sucesso.

Passo 2 . Despeje o banco de dados em arquivos SQL usando a mysqldumpferramenta.

O comando a seguir faz dump do classicmodelsbanco de dados em um arquivo SQL localizado no D:\dbdiretório:

mysqldump -u root -p classicmodels > D:\db\classicmodels.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Este comando instrui mysqldumpa fazer login no servidor MySQL usando a rootconta de usuário com uma senha e exportar os objetos do banco de dados para o formato d:\db\classicmodels.sql. Observe que o operador ( >) significa exportar.

Etapa 3 . Importe o d:\db\classicmodels.sqlarquivo para o classicmodels_backupbanco de dados.

mysql -u root -p classicmodels_backup < d:\db\classicmodels.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Observe que o operador ( <) significa importar.

Para verificar a importação, você pode realizar uma verificação rápida usando o SHOW TABLEScomando.

SHOW TABLES FROM classicmodels_backup;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ele retornou a seguinte saída:

+--------------------------------+
| Tables_in_classicmodels_backup |
+--------------------------------+
| customers                      |
| employees                      |
| offices                        |
| orderdetails                   |
| orders                         |
| payments                       |
| productlines                   |
| products                       |
+--------------------------------+
8 rows in set (0.01 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A saída indica que copiamos com êxito todos os objetos e dados do classicmodelsbanco de dados para o classicmodels_backupbanco de dados.

Copie um banco de dados MySQL de um servidor para outro

Para copiar um banco de dados MySQL de um servidor para outro, siga as seguintes etapas:

  • Primeiro, exporte o banco de dados no servidor de origem para um arquivo de despejo SQL usando a mysqldumpferramenta.
  • Segundo, importe o arquivo de dump SQL para o servidor de destino usando a mysqlferramenta.

A imagem a seguir ilustra as etapas:

MySQL copia banco de dados de um servidor para outro

Primeiro, exporte o classicmodelsbanco de dados para db.sqlarquivo usando a ferramenta mysqldump:

mysqldump -h source_server -u root -p --databases classicmodels > d:\db\db.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste comando, você precisa substituir o source_serverpelo seu servidor real.

Observe que essa --databaseopção permite mysqldumpincluir instruções CREATE DATABASEe USEno arquivo de dump SQL.

Essas instruções criarão o classicmodelsbanco de dados no servidor de destino e tornarão o novo banco de dados o banco de dados padrão para carregar os dados.

Em outras palavras, o mysqldump gera as seguintes instruções no início do arquivo de dump SQL quando usamos --databasea opção:

CREATE DATABASE `classicmodels`.

USE `classicmodels`;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, importe o db.sqlarquivo para o servidor de banco de dados de destino usando a ferramenta mysql:

mysql -h destination_server -u root -p classicmodels < c:\tmp\db.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste comando, você precisa substituir o destination_serverpelo seu servidor real.

Resumo

  • Exporte um banco de dados para um arquivo dump usando a mysqldumpferramenta e importe o arquivo dump usando a mysqlferramenta para copiar um banco de dados MySQL dentro de um servidor ou de um servidor para outro.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *