在mysqldump中添加选项--single-transaction
以创建具有一致性的备份是否足够..
或者您是否需要设置主/从复制?
mysqldump --single-transaction -h localhost -u root ...
数据库仅包含innoDB表
答案 0 :(得分:3)
是,
mysqldump --single-transaction ...
执行
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */
UNLOCK TABLES
...
所以这将为您提供一致性。您无需设置复制。
供参考:
mysqldump ... (same as mysqldump --lock-tables ...)
执行:
LOCK TABLES `table1` READ /*!32311 LOCAL */
...
UNLOCK TABLES
...
LOCK TABLES `table2` READ /*!32311 LOCAL */
...
UNLOCK TABLES
...
和
mysqldump --lock-all-tables ...
执行:
FLUSH TABLES
FLUSH TABLES WITH READ LOCK
...
所以根据您的需要,mysqldump --single-transaction
是正确的。