Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/04/2012, 01:20
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Como realizar un backup con mysqldump sin bloquear tablas myisam?

Hacer un backup sin bloquear seria peor que no hacer backup.... puesto que el backup obtenido mientras hay clientes modificando datos podría darte como resultado un backup incoherente y por tanto inútil... en otras palabras si tienes que restaurar ese backup la base de datos resultante en el mejor de los casos le faltaran datos y fácilmente tendrá datos inconsistentes.

Soluciones....

Hacer el backup en una hora que no haya clientes (eso es difícil de determinar si tienes clientes de todo el mundo)

Detener la aplicación mientras se hace un backup (aquí en FDW lo hacen así.... creo)

Rediseñar la base de datos para que sea mas rápido el proceso, particionar tablas....

Hacer backups incrementales, es decir solo copiar aquello que ha cambiado...


http://dev.mysql.com/doc/mysql-enter...cremental.html

esto sobretodo reduce la necesidad de espació para guardar los backups no se si reduce el tiempo de bloqueo.

Analizar las options que estas usando y quitar las que sean innecesarias....

--order-by-primary order-by-primary Dump each table's rows sorted by its primary key, or by its first unique index

quizás si quitas esta option iría mas rápido... seguro que si no fuerzas el orden de los datos los copiará mucho mas rápido.

--routines
--triggers

Si no has hecho cambios en la estructura de la base de datos ni en sus objetos, debes eliminar todo lo que no sean datos del backup...

Puedes tener un respaldo de rutinas y triguers estático.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/04/2012 a las 07:10