Ich habe eine Frage zur logischen Sicherung von MySQL-Datenbanken, die sowohl MyISAM als auch InnoDB verwenden.
Das mysqldump
Dienstprogramm unterstützt diese beiden Optionen:
--single-transaction - Erstellt einen konsistenten Snapshot, indem alle Tabellen in einer einzigen Transaktion ausgegeben werden. Funktioniert NUR für Tabellen, die in Speicher-Engines gespeichert sind, die Multiversioning unterstützen (derzeit nur InnoDB). [...] Die Option deaktiviert automatisch --lock-Tabellen.
-x, --lock-all-tables - Sperrt alle Tabellen in allen Datenbanken. Dies wird erreicht, indem eine globale Lesesperre für die Dauer des gesamten Speicherauszugs verwendet wird. Deaktiviert automatisch --single-transaction und --lock-tables.
Für InnoDB brauchen wir
--single-transaction
Für MyISAM benötigen wir - Lock-Tables oder Lock-All-Tables (falls wir datenbankübergreifende Konsistenz benötigen).
Wie soll eine Hybriddatenbank (eine Datenbank, die sowohl MyISAM- als auch InnoDB-Engines verwendet) gesichert werden?
Bearbeiten:
Zur Klarstellung könnte die Frage folgendermaßen umformuliert werden:
Garantieren die Optionen lock- [all-] tables eine konsistente Sicherung von InnoDB-Tabellen?