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

Tutorial Cyrus IMAP aggregator (murder) 2.3.16 sobre Debian GNU Linux 5.x Lenny

Instalar Squid forward proxy com SSL cache (SSL bump) em Rocky Linux 8.9 para cache de pacotes na infrestrutura

How to configure multipath for high availability and performance on Debian and CentOS for storage at IBM DS8300 SAN