De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Cristina Otsuka
Data de Publicação: 28 de Maio de 2004
O resultado do mysqldump é um arquivo que podemos alterar, editando-o
para remover, incluir, alterar linhas.
Esse arquivo pode ser executado através da linha de comando do mysql,
para que um ou mais bancos, tabelas, índices ou outros objetos possam
ser recriados e repopulados onde for necessário.
Por exemplo: se eu usar os comandos:
a) mysqldump -u usuario -a -d --opt --databases teste1 teste2 > arq_saida_1.bck
e
b) mysqldump -u usuario -c -t --opt --databases teste1 teste2 > arq_saida_2.bck
no primeiro arquivo terei os comandos de criação dos bancos/tabelas/etc de
teste1 e teste2 e no segundo arquivo terei o conteúdo de teste1
e teste2.
Observações:
| Diretiva | Descrição |
|---|---|
-a |
inclui todas as opções de create do My-SQL; |
-d |
sem dados, ou seja, só estrutura; |
--opt |
são várias opções importantes em conjunto; |
-c |
usa comandos inserts completos; |
-t |
não escreve comandos create table). |
Tendo esses arquivos, posso entrar num outro ambiente MySQL
e gerar/popular teste1 e teste2:
mysql> source arq_saida_1.bck mysql> source arq_saida_2.bck
Depois, devo checar o catálogo do MySQL para ver se precisa-se criar usuário e dar os privilégios necessários (ou seja, antes de restaurar o(s) banco(s), verificar cuidadosamente o que fazer com o catálogo!! Caso eu o leve junto, posso sobrepor ao catálogo existente!!!!).
No caso de uma migração de máquina, pode-se também utilizar os próprios comandos do Sistema Operacional para cópia e recuperação em outro ambiente. Nesse caso, pode-se por exemplo:
tar);
owner dos arquivos;
Tomar cuidado com o catálogo do MySQL: caso eles sejam diferentes nas duas máquinas, pode ser ou não necessário migrá-lo. Se for migrar, cuidado, pois ele vai se sobrepor ao banco MySQL do destino e pode-se perder as configurações originais.
Para saber como usar comandos SQL sem especificar a senha na linha de comando, consulte o artigo Agendamento de backup com mysql via cron.