Ho una domanda relativa al backup logico dei database MySQL che utilizzano sia MyISAM che InnoDB.
L' mysqldump
utilità supporta queste due opzioni:
--single-transazione : crea uno snapshot coerente scaricando tutte le tabelle in una singola transazione. Funziona SOLO per le tabelle archiviate nei motori di archiviazione che supportano il multiversioning (attualmente solo InnoDB) [...] L'opzione disattiva automaticamente --lock-tables.
-x, --lock-all-tables - Blocca tutte le tabelle in tutti i database. Ciò si ottiene prendendo un blocco di lettura globale per la durata dell'intero dump. Disattiva automaticamente --single-transazione e --lock-tables.
Per InnoDB, abbiamo bisogno
--single-transaction
per MyISAM, abbiamo bisogno di: lock-table o lock-all-tables (nel caso in cui abbiamo bisogno di coerenza tra database).
Quindi, come è possibile eseguire il backup di un database ibrido (un database che utilizza sia i motori MyISAM che InnoDB)?
Modificare:
Giusto per chiarire, la domanda potrebbe essere riformulata in questo modo:
Le opzioni lock- [all-] tables garantiscono un backup coerente delle tabelle InnoDB?