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

Nunca use maiúsculas ao criar endereço no iCloud

Estrutura de pastas GTD de projetos no Todoist com assinatura premium ou no Evernote