Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso desacelerar um despejo do MySQL para não afetar a carga atual no servidor?


Eu tenho bancos de dados muito grandes com dezenas de milhares de tabelas, algumas das quais têm até 5 GB de dados em dezenas de milhões de entradas. (Eu executo um serviço popular)... Sempre tive dores de cabeça ao fazer backup desses bancos de dados. Usando o mysqldump padrão, ele rapidamente deixa a carga do servidor fora de controle e trava tudo... afetando meus usuários. Tentar parar o processo pode levar a tabelas travadas e muito tempo de inatividade durante a recuperação dessas tabelas.

agora eu uso...
mysqldump -u USER -p --single-transaction --quick --lock-tables=false DATABASE | gzip > OUTPUT.gz

A referência mysqldump em dev.mysql.com até diz...

Não diz nada sobre isso ser dependente do banco de dados ser InnoDB, o meu é myISAM e isso funcionou lindamente para mim. A carga do servidor quase não foi afetada e meu serviço funcionou como um Rolex durante todo o processo. Se você tem bancos de dados grandes e o backup deles está afetando seu usuário final... esta É a solução.;)