Como restaurar o dump do MySQL usando o comando mysql

Resumo : neste tutorial, você aprenderá como restaurar um arquivo dump MySQL usando a mysqlferramenta.

O mysqldumpé um utilitário de linha de comando usado para fazer backup de bancos de dados MySQL, gerando instruções SQL que podem recriar o banco de dados.

O mysqldumpprograma permite criar instantâneos de seus bancos de dados, tornando-o uma ferramenta importante para backup de dados.

Para restaurar o banco de dados a partir de um arquivo de despejo criado pelo mysqldumpprograma, você usa o mysqlprograma.

O mysqlprograma lê as instruções SQL de um arquivo de despejo e as executa para recriar o banco de dados.

Aqui estão as etapas para restaurar um banco de dados a partir de um arquivo de despejo:

Primeiro, abra o prompt de comando no Windows ou o programa Terminal em sistemas do tipo Unix (macOS, Linux, Ubuntu, etc.).

Segundo, execute o seguinte comando para restaurar bancos de dados de um arquivo de despejo:

mysql -h hostname -P port -u username -p database_name < dump_file.sqlLinguagem de código:  CSS  ( css )

Vamos analisar o comando:

  • mysql: Este é o cliente de linha de comando para MySQL.
  • -h hostname: esta opção especifica o nome do host ou endereço IP do servidor MySQL ao qual você deseja se conectar. Substitua “hostname” pelo endereço real.
  • -P port: esta opção especifica o número da porta na qual o servidor MySQL está sendo executado. Substitua “porta” pelo número da porta real.
  • -u username: esta opção especifica o nome de usuário MySQL que você deseja usar para se conectar ao servidor. Substitua “nome de usuário” pelo seu nome de usuário MySQL.
  • -p: esta opção solicita a senha do usuário MySQL. Depois de inserir o comando, você será solicitado a inserir a senha.
  • database_name: este é o nome do banco de dados MySQL no qual você deseja restaurar os dados. Substitua “database_name” pelo nome real do seu banco de dados de destino.
  • < dump_file.sql: esta parte do comando é usada para redirecionamento de entrada. Ele pega o conteúdo do arquivo de dump SQL (“dump_file.sql”) e o usa como entrada para o mysqlcomando. É assim que os dados e a estrutura do arquivo de despejo são carregados no banco de dados MySQL especificado.

Observe que você pode executar o mysql do seu computador para restaurar um arquivo de despejo ou do servidor MySQL remoto.

Exemplo de restauração de dump do MySQL

Primeiro, abra o prompt de comando no Windows ou o Terminal em sistemas do tipo Unix.

Segundo, despeje o classicmodels banco de dados de amostra no arquivo D:\backup\classicmodels.sqlusando o mysqldumpprograma.

mysqldump -u root -p classicmodels > D:\backup\classicmodels.sqlLinguagem de código:  CSS  ( css )

Terceiro, conecte-se ao servidor MySQL:

mysql -u root -p

Quarto, mude o banco de dados atual para classicmodelsbanco de dados:

use classicmodels;Linguagem de código:  PHP  ( php )

Quinto, exclua todas as linhas da paymentstabela:

delete from payments;Linguagem de código:  JavaScript  ( javascript )

Sexto, saia do mysqlprograma:

exitLinguagem de código:  PHP  ( php )

Sétimo, restaure o classicmodelsbanco de dados do classicmodels.sqlarquivo dump:

mysql -u root -p classicmodels < d:\backup\classicmodels.sqlLinguagem de código:  CSS  ( css )

Oito, conecte-se ao mysql:

mysql -u root -p

Nono, mude o banco de dados atual para classicmodels:

use classicmodels;Linguagem de código:  PHP  ( php )

Finalmente, conte as linhas da paymentstabela:

SELECT COUNT(*) FROM payments;

Saída:

+----------+
| COUNT(*) |
+----------+
|      273 |
+----------+
1 row in set (0.02 sec)Linguagem de código:  JavaScript  ( javascript )

Ele retorna 27 linhas, o que significa que você restaurou com êxito o classicmodelsbanco de dados do arquivo de despejo.

Solução de problemas

Ao restaurar a partir de um arquivo de despejo, você poderá encontrar o seguinte erro:

ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: ' ■-'.Linguagem de código:  JavaScript  ( javascript )

Provavelmente, a codificação do arquivo de despejo não é utf8.

Para corrigir isso, você pode abrir o arquivo dump em um editor de texto, por exemplo, Notepad no Windows ou Nano em sistemas do tipo Unix, e salvar o arquivo usando a codificação utf8.

Resumo

  • Use o mysqlcomando para restaurar um arquivo de despejo criado pelo mysqldumpprograma.

Deixe um comentário

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