The Issue of the Day Before

使用 mysqldump 時避免 lock Table

mysql -

`mysqldump --single-transaction `

How

--single-transaction 會將隔離級別設為 REPEATABLE READ。並以 START TRANSACTION 開始,這讓在 dump 過程中保證數據一致性。

這方式在 InnoDB 的表中有用,也不需要 lock table。 但在 MyISAMMEMORY 格式中則不能保證。

使用該參數,在 dump 過程也需保證沒有 ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE 等指令被執行。

REPEATABLE READ 在資料變動時,會重新讀取,如果發生則作業的時間會比較長。

閱讀在雲端