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.


Backup no MySQL

Colaboração: Cristina Otsuka

Data de Publicação: 27 de Novembro de 2006

Existem inúmeras maneiras de se fazer backup no MySQL. Creio que o modo mais utilizado seja o backup feito pelo comando 'mysqldump', que permite uma combinação enorme de parâmetros.

Em todos os comandos abaixo, substitua as palavras 'usuario', 'senha' e 'arquivo_saida'.

  • 1) backup de todos os bancos existentes com conteúdo e estrutura (-A equivale a --all-databases):

    $ mysqldump -u usuario
       --password=senha --all-databases > arquivo_saida
    
    OU
    $ mysqldump -u usuario 
      --password=senha -A > arquivo_saida
    

  • 2) backup só das estruturas de todos os bancos (-d: sem os conteúdos)

    $ mysqldump -u usuario 
      --password=senha -A -d > arquivo_saida
    

  • 3) backup só dos dados de todos os bancos (-c: usa comandos 'insert'; -t: não escreve comandos 'create table'; -e: gera comandos mais compactos e mais rápidos de 'insert')

    $ mysqldump -u usuario
      --password=senha -c  -t  -e -A > arquivo_saida
    

Caso você queira especificar o nome de um banco de dados (ou seja, você não quer fazer de todos os bancos existentes) substitua o parâmetro '-A' citado nos exemplos anteriores por:

--databases DB1 DB2 .... , onde DB1 DB2 ... são os nomes dos bancos de dados

Exemplo:

$ mysqldump -u usuario 
  --password=senha -c -t -e --databases DB1 DB2

Caso você queira fazer backup de apenas algumas tabelas de um banco específico:

$ mysqldump -u usuario
  --password=senha [opções] DB1 [nome das tabelas]

onde DB1 é o nome do banco que você quer.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários (2)

Avatar
Novo

Na verdade, a dica pode ser expandida.

Dependendo dos tipos de dados que houver nas tabelas (dados em formato binário), pode ser que a restauração do backup não funcione.

Nesse caso, é necessário adicionar a flag `--hex-blob` ao `mysqldump`, que fará com que o backup seja corretamente restaurado do outro lado.

Avatar
Novo

Muito bom Grato e Forte Abraço,



Veja a relação completa dos artigos de Cristina Otsuka