1

是否足以--single-transaction在 mysqldump 中添加选项以创建具有一致性的备份..

还是您需要设置主/从复制?

mysqldump --single-transaction -h localhost -u root ...

数据库仅包含 innoDB 表

4

1 回答 1

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是正确的。

于 2012-10-17T17:45:29.767 回答