--single-transaction
一貫性のあるバックアップを作成するには、mysqldumpにオプションを追加するだけで十分ですか。
または、マスター/スレーブレプリケーションを設定する必要がありますか?
mysqldump --single-transaction -h localhost -u root ...
データベースはinnoDBテーブルのみで構成されています
--single-transaction
一貫性のあるバックアップを作成するには、mysqldumpにオプションを追加するだけで十分ですか。
または、マスター/スレーブレプリケーションを設定する必要がありますか?
mysqldump --single-transaction -h localhost -u root ...
データベースはinnoDBテーブルのみで構成されています
はい、
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
正しいです。