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 に答える