Eu estava lendo que os bancos de dados Oracle têm backups frios, mornos, completos e refazer.
Perguntas
- Como é possível que o MySQL não tenha tantas opções?
- Eu li que o MySQL tem backups frios (ele coloca o banco de dados em um modo de bloqueio por si só); existem outros métodos?
- Como posso implementar métodos semelhantes aos que o Oracle possui no MySQL?
Porque o MySQL não é tão maduro.
Mas existem opções, como o hot backup (gratuito) do Percona para innodb:
http://www.percona.com/software/percona-xtrabackup/
Há também o MySQL Enterprise Backup da Oracle, mas não é gratuito.
Existem duas maneiras de fazer backups que não são padrão para o MySQL
COLD BACKUP
Você pode executar mysqldumps paralelos em conjunto com
FLUSH TABLES WITH READ LOCK
Eu escrevi um post sobre isso há muito tempo: Como posso otimizar um mysqldump de um banco de dados grande?
Aqui está um script de amostra para usar um bloqueio de leitura global e um mysqldump monolítico
Aqui está um script de amostra para usar um bloqueio de leitura global e mysqldumps paralelos 20 DBs por vez
BACKUP MORNO / FRIO
Um método mais arriscado para fazer backup do mysql é fazer rsyncs. O conceito básico é este:
SET GLOBAL innodb_max_dirty_pages_pct = 0;
(OPCIONAL se seus dados forem todos InnoDB)A partir daqui, você pode inicializar o mysql no DB2 e executar mysqldumps no DB2 para o conteúdo do seu coração.
Em vez de apenas colocar o código aqui, vou compartilhar com vocês os links que postei no passado sobre o conceito disso (este conceito eu uso periodicamente para fazer novos escravos para mestres gigantes)