Como fazer backup e restaurar um banco de dados no MySQL

Resumo : neste tutorial, você aprenderá as etapas de como fazer backup de um banco de dados em um servidor MySQL usando o mysqldumpprograma e restaurá-lo usando o mysqlprograma.

Para fazer backup de um banco de dados no servidor MySQL, você usa o mysqldumpprograma que vem por padrão com a instalação do cliente MySQL.

Para restaurar um backup criado pelo programa mysqldump, você usa o programa de linha de comando mysql.

Demonstraremos como fazer backup e restaurar um banco de dados em um servidor MySQL.

Criando um banco de dados de amostra

Primeiro, conecte-se ao servidor MySQL usando o mysqlprograma:

mysql -u root -pLinguagem de código:  texto simples  ( texto simples )

Segundo, crie um novo banco de dados chamado hr:

CREATE DATABASE IF NOT EXISTS hr;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, mude o banco de dados atual para hr:

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

Quarto, crie uma nova tabela dentro do hrbanco de dados chamada employees:

CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Quinto, insira algumas linhas na employeestabela:

INSERT INTO employees (name, email) 
VALUES
    ('John Doe', '[email protected]'),
    ('Jane Smith', '[email protected]'),
    ('Bob Johnson', '[email protected]'),
    ('Alice Jones', '[email protected]'),
    ('Charlie Brown', '[email protected]');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Finalmente, saia do mysqlprograma.

exitLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Fazendo backup de um banco de dados

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

Segundo, execute o mysqldumpprograma para fazer backup do hrbanco de dados:

mysqldump -h localhost -u root -p hr > D:\backup\hr.sqlLinguagem de código:  texto simples  ( texto simples )

Vamos detalhar cada parte do comando:

  • mysqldump: Este é o utilitário de linha de comando do MySQL que permite despejar o conteúdo de um banco de dados em um arquivo.
  • -h localhost: esta opção especifica o nome do host onde o servidor MySQL está sendo executado. Neste caso, está definido como “localhost”, o que significa que o servidor MySQL está na mesma máquina em que o comando está sendo executado. Se você deseja fazer backup de um banco de dados localizado em um servidor remoto, especifique o nome do host do servidor.
  • -u root: Esta opção especifica o usuário MySQL usado para a conexão. Neste caso, está definido como “root”, que é uma conta de superusuário padrão comum no MySQL.
  • -p: Esta opção solicita ao usuário a senha do MySQL. Após inserir o comando, você será solicitado a inserir a senha do usuário especificado (neste caso, o usuário “root”).
  • hr: Este é o nome do banco de dados MySQL do qual você deseja fazer backup. Substitua “hr” pelo nome real do banco de dados do qual deseja fazer backup.
  • > D:\backup\hr.sql: Esta parte do comando usa o símbolo de redirecionamento de saída ( >) para enviar a saída do mysqldumpcomando para o arquivo "D:\backup\hr.sql".

Após inserir uma senha válida, o mysqldumpprograma criará um backup do hrbanco de dados e o armazenará no hr.sqlarquivo localizado no D:\backupdiretório.

Excluindo acidentalmente algumas linhas de uma tabela

Primeiro, conecte-se ao MySQL:

mysql -u root -p

Segundo, mude o banco de dados atual para hr:

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

Terceiro, exclua o funcionário com id 3 da employeestabela:

delete from employees where id = 3;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Suponha que essa exclusão não seja intencional e você queira restaurar o hrbanco de dados para recuperar os dados.

Restaurando um banco de dados

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

Segundo, use o seguinte comando para restaurar o hrbanco de dados a partir do arquivo de backup criado pelo mysqldumputilitário:

mysql -u root -p hr < D:\backup\hr.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Aqui está o detalhamento do comando:

  • mysql: Este é o cliente de linha de comando MySQL, usado para interagir com o servidor MySQL por meio da linha de comando.
  • -u root: Esta opção especifica o usuário MySQL a ser usado para a conexão. Neste caso, está definido como “root”, que é uma conta de superusuário padrão comum no MySQL.
  • -p: Esta opção solicita ao usuário a senha do MySQL. Após inserir o comando, você será solicitado a inserir a senha do usuário especificado (neste caso, o usuário “root”).
  • hr: Este é o nome do banco de dados MySQL que você deseja restaurar. Substitua “hr” pelo nome real do banco de dados que você deseja restaurar.
  • <D:\backup\hr.sql: Esta parte do comando usa o símbolo de redirecionamento de entrada ( <) para ler o conteúdo do arquivo especificado (“ D:\backup\hr.sql“) e passá-lo como entrada para o mysqlcomando.

Terceiro, conecte-se ao servidor MySQL:

mysql -u root -p

Quarto, mude o banco de dados atual para hr:

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

Por fim, recupere os dados da employeestabela para verificar a restauração:

SELECT * FROM employees;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----+---------------+---------------------------+
| id | name          | email                     |
+----+---------------+---------------------------+
|  1 | John Doe      | [email protected]      |
|  2 | Jane Smith    | [email protected]    |
|  3 | Bob Johnson   | [email protected]   |
|  4 | Alice Jones   | [email protected]   |
|  5 | Charlie Brown | [email protected] |
+----+---------------+---------------------------+
5 rows in set (0.00 sec)Linguagem de código:  texto simples  ( texto simples )

A saída indica que o hrbanco de dados foi totalmente restaurado.

Resumo

  • Use o mysqldumpprograma para fazer backup de um banco de dados em um servidor MySQL.
  • Use o mysqlprograma para restaurar um banco de dados a partir de um arquivo de backup criado pelo programa mysqldump.

Deixe um comentário

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