2012-10-17 60 views
1

是否足夠,以添加選項--single-transaction在mysqldump的創建具有一致性備份..的InnoDB與--single-交易或複製

或者你需要設置主/從複製?

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

該數據庫只包含InnoDB表

回答

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