Tengo una pregunta sobre la copia de seguridad lógica de las bases de datos MySQL que usan MyISAM e InnoDB.
La mysqldump
utilidad admite estas dos opciones:
- transacción única : crea una instantánea coherente volcando todas las tablas en una sola transacción. Funciona SOLO para tablas almacenadas en motores de almacenamiento que admiten multiversioning (actualmente solo InnoDB lo hace) La opción [...] apaga automáticamente --lock-tables.
-x, --lock-all-tables : bloquea todas las tablas en todas las bases de datos. Esto se logra tomando un bloqueo de lectura global durante todo el volcado. Desactiva automáticamente --single-transaction y --lock-tables.
Para InnoDB, necesitamos
--single-transaction
para MyISAM, necesitamos - lock-tables o lock-all-tables (en caso de que necesitemos coherencia entre bases de datos).
Entonces, ¿cómo se supone que se debe hacer una copia de seguridad de una base de datos híbrida (una base de datos que usa los motores MyISAM e InnoDB)?
Editar:
Solo para aclarar, la pregunta podría reformularse así:
¿Las opciones de bloqueo- [todas-] tablas garantizan una copia de seguridad consistente de las tablas InnoDB?