sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo puedo ralentizar un volcado de MySQL para no afectar la carga actual en el servidor?

Tengo bases de datos muy grandes con decenas de miles de tablas, algunas de las cuales tienen hasta 5 GB de datos en decenas de millones de entradas. (Admito un servicio popular)... Siempre he tenido dolores de cabeza al hacer copias de seguridad de estas bases de datos. Al usar mysqldump predeterminado, rápidamente la carga del servidor se sale de control y bloquea todo... lo que afecta a mis usuarios. Intentar detener el proceso puede ocasionar tablas colapsadas y mucho tiempo de inactividad durante la recuperación de esas tablas.

Ahora uso...

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

La referencia de mysqldump en dev.mysql.com incluso dice...

No dice nada acerca de que depende de que la base de datos sea InnoDB, la mía es myISAM y esto funcionó muy bien para mí. La carga del servidor casi no se vio afectada y mi servicio funcionó como un Rolex durante todo el proceso. Si tiene grandes bases de datos y hacer copias de seguridad de ellas está afectando a su usuario final... esta ES la solución.;)