portella.com.br

Blog pessoal de Felipe Portella

Backup de banco MySQL

without comments

Fonte: dev.mysql.com/doc/refman/4.1/pt/backing-up.html

Se você puder desativar o servidor MySQL, então, para fazer um backup de ‘binario‘ do seu banco de dados você deve fazer o seguinte:

  • Finalize o seu banco de dados MySQL e certifique-se de que ele finalizou sem erros.
  • Copie todos os seus arquivos de dados em um local seguro.
  • Copie todos os seus arquivos de log do InnoDB em um local seguro.
  • Copie o(s) seu(s) arquivo(s) de configuração my.cnf em um local seguro.
  • Copie todos os arquivos .frm da suas tabelas InnoDB em um local seguro.

Além de fazer um backup de binário descrito acima, você também deve fazer um ‘dump‘ da sua tabela com mysqldump. A razão para se fazer isto é que um arquivo binário pode ser corrompido cem você perceber. Dumps de tabelas são armazenados em um arquivo texto legível e muito mais simples que arquivos binários de banco de dados. Ver tabelas corrompidas através de arquivos de dump é mais fácil e, como o seu formato é simples, a chance dos dados se corromperem seriamente são bem menores.

Uma boa idéia é fazer dumps ao mesmo tempo que você faz o backup de binário do seu banco de dados. Você tem que fechar todos os bancos de dados nos clientes para ter uma cópia consistente de todas as suas tabelas em seu dump. Então você pode fazer o backup de binário e você terá uma cópia consistente de seu banco de dados em dois formatos.

Dicas sobre o mysqldump

Fonte: www.dicas-l.com.br/dicas-l/20040414.php

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.

Written by Felipe Portella

dezembro 7th, 2008 at 1:46 pm

Posted in Uncategorized

Tagged with

Leave a Reply

You must be logged in to post a comment.