Backup MySQL com mysqldump sem travar tabelas e indisponibilidade de conexões




Quando temos de fazer backup de um grande servidor MySQL usando mysqldump, as grandes tabelas e ou atividade acabam exibindo indisponibilidade de conexões ao banco e as aplicações falham. Algumas bem feias na tela do usuário, por não saberem esperar e tentar novamente.

Dependendo do tamanho do banco, o dump pode demorar muito tempo mesmo, muito além do que um usuário esteja disposto a esperar.

Para contornar isso, sugiro utilizar duas opções ADICIONAIS no mysqldump do seu script chamado por cron job.


--single-transaction  
para innodb transforma em transação, não travando para a "maioria" das operações de alteração de bancos. Operações que alteram tabelas continuam travadas.


--quick 
recupera registros um de cada vez para tentar não explodir memória em tabelas grandes. Demora mais, porém é mais seguro.

Implantado em produção de missão crítica sobre MySQL e Debian GNU/Linux Jessie 8.x.

Comentários

Postagens mais visitadas deste blog

Avaliação do Apple Smart Keyboard para iPad Pro 10.5

IPad Pro pode substituir notebook?

Como instalar Oracle Client no Debian e Ubuntu