Resumo : neste tutorial, você aprenderá as etapas de como fazer backup de um banco de dados em um servidor MySQL usando o mysqldump
programa e restaurá-lo usando o mysql
programa.
Para fazer backup de um banco de dados no servidor MySQL, você usa o mysqldump
programa 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 mysql
programa:
mysql -u root -p
Linguagem 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 hr
banco 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 employees
tabela:
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 mysql
programa.
exit
Linguagem 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 mysqldump
programa para fazer backup do hr
banco de dados:
mysqldump -h localhost -u root -p hr > D:\backup\hr.sql
Linguagem 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 domysqldump
comando para o arquivo"D:\backup\hr.sql"
.
Após inserir uma senha válida, o mysqldump
programa criará um backup do hr
banco de dados e o armazenará no hr.sql
arquivo localizado no D:\backup
diretó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 employees
tabela:
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 hr
banco 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 hr
banco de dados a partir do arquivo de backup criado pelo mysqldump
utilitário:
mysql -u root -p hr < D:\backup\hr.sql
Linguagem 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 omysql
comando.
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 employees
tabela 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 hr
banco de dados foi totalmente restaurado.
Resumo
- Use o
mysqldump
programa para fazer backup de um banco de dados em um servidor MySQL. - Use o
mysql
programa para restaurar um banco de dados a partir de um arquivo de backup criado pelo programa mysqldump.