Há um banco de dados com tamanho de 500 GB. As tabelas no banco de dados A contêm as tabelas MyISAM e INNODB. As tabelas MyISAM são tabelas mestras e as tabelas Innodb são as principais tabelas de transação.
Faça backup e restaure usando o despejo mysql, demorando muito tempo ou dias.
- max_allowed_packet = 1G
- Foreign_key_checks = 0
- auto_commit = desativado
Respostas:
Mas o link também recomenda o XtraBackup da Percona, que é mais rápido, sem bloqueios em tabelas que já estão em uso e não ganha tempo para restauração. Para 500 GB de dados, prefiro o Percona XtraBackup a ser rápido e eficiente, a menos que você queira convertê-los para o modelo innodb_file_per_table, se não for do servidor de banco de dados existente. O link abaixo explica como proceder.
http://www.percona.com/doc/percona-xtrabackup/innobackupex/creating_a_backup_ibk.html
fonte
Confira o mydumper. É muito mais rápido que o mysqldump: A nova versão do mydumper 0.6.1 oferece recursos de desempenho e usabilidade
Você pode fazer o download aqui: https://github.com/maxbube/mydumper
fonte
Eu acho que a pergunta é sobre como restaurar mais rapidamente os arquivos de despejo repetido do mysqldump e não uma solução de backup diferente.
Uma das maneiras de fazer isso é criar grupos de tabelas em seu esquema e criar um usuário de banco de dados separado para cada grupo e usar permissões do MySQL para não permitir que tabelas sejam inseridas usando apenas um usuário de banco de dados.
Essa é uma técnica comprovada, rápida e quase paralela, mas sem 100% de certeza de quanto tempo levará para restaurar a partir de 500G. Mas imho, você precisa de algo paralelo. Veja o link abaixo para um exemplo.
Restauração rápida e paralela de dumps SQL (mysqldump) para MySQL
fonte
Tente o seguinte com innobackupex:
Você pode alterar o número do processo paralelo como desejar. Como você mencionou que possui tabelas myisam, o parâmetro "rsync" ajudará a acelerar o backup delas.
fonte