J'ai une question concernant la sauvegarde logique des bases de données MySQL qui utilisent à la fois MyISAM et InnoDB.
L' mysqldump
utilitaire prend en charge ces deux options:
--single-transaction - Crée un instantané cohérent en vidant toutes les tables dans une seule transaction. Fonctionne UNIQUEMENT pour les tables stockées dans des moteurs de stockage qui prennent en charge le multiversionnement (actuellement seul InnoDB le fait) [...] L'option désactive automatiquement --lock-tables.
-x, --lock-all-tables - Verrouille toutes les tables dans toutes les bases de données. Ceci est réalisé en prenant un verrou de lecture global pendant toute la durée du vidage. Désactive automatiquement --single-transaction et --lock-tables.
Pour InnoDB, nous avons besoin
--single-transaction
pour MyISAM, nous avons besoin de - lock-tables ou lock-all-tables (au cas où nous aurions besoin d'une cohérence entre bases de données).
Alors, comment une base de données hybride (une base de données qui utilise à la fois les moteurs MyISAM et InnoDB) est-elle censée être sauvegardée?
Éditer:
Juste pour clarifier, la question pourrait être reformulée comme ceci:
Les options lock- [all-] tables garantissent-elles une sauvegarde cohérente des tables InnoDB?