O comando mysqldump é utilizado para fazer o backup enquanto o comando mysql é usado para restaurar o backup.
# Shell
# Backup de um banco de dados específico mysqldump --databases nome_banco_de_dados -u usuario_mysql -p > nome_banco_de_dados.sql # Backup de dois ou mais banco de dados mysqldump --databases nome_banco_de_dados_1 nome_banco_de_dados_2 -u usuario_mysql -p > dois_banco_de_dados.sql # Backup de todos os bancos de dados mysqldump --all-databases -u usuario_mysql -p > todos_os_bancos.sql # Backup de um banco de dados ignorando certas tabelas mysqldump --databases nome_banco_de_dados --ignore-table="nome_banco_de_dados.nome_da_tabela1" --ignore-table="nome_banco_de_dados.nome_da_tabela2" -u usuario_mysql -p > nome_banco_de_dados.sql # Restaurando o backup mysql -u usuario_mysql -p < nome_do_backup.sql # Restaurando um banco de dados de um backup com mais banco de dados mysql --one-database nome_banco_de_dados -u usuario_mysql -p < todos_os_bancos.sql # Backup com compactação gzip mysqldump --databases nome_banco_de_dados -u usuario_mysql -p | gzip -9 > nome_banco_de_dados.sql.gz # Restaurando a partir de um backup compactado gunzip < nome_banco_de_dados.sql.gz | mysql -u usuario_mysql -p
Detalhes dos parâmetros utilizados nos comandos:
- -u usuario_mysql: É necessário fornecer um usuário que tenha permissão de acesso ao banco de dados para poder fazer o backup. Este parâmetro faz exatamente isso.
- -p: Força solicitar a senha, lembre de deixar espaço antes e depois. Caso deseje utilizar a senha na linha de comando, utilize: -p'senhaDoBanco' Tudo junto, sem espaço após o -p.
- >: Direciona a saída do comando de backup do banco de dados para o arquivo que será o backup
- <: Direciona o arquivo de backup para ser utilizado no comando de restauração
- --databases: Esta opção é obrigatória para fazer backup de mais de um banco de dados, utilizando este parâmetro o backup é feito incluindo a criação do próprio banco de dados. Ao fazer o backup de um único banco de dados pode-se omitir este parâmetro porém será necessário recriar o baco de dados antes de restaurar o backup.
- --all-databases: Parâmetro utilizado para fazer o backup de todos os bancos de dados.
- --one-database: Parâmetro utilizado recuperar um banco de dados de um backup com mais banco de dados. Neste caso é necessário criar o banco de dados a ser restaurado antes de executar o comando, assim as tabelas e os registros serão inseridos no banco.
- --ignore-table: Parâmetro para ignorar certas tabelas ao fazer o backup.