2012-04-09 5 views
2

私はInnoDB MySQLデータベースを持っています。 SQLダンプをエクスポートすると、どのようにロックが行われますか?エクスポート中にデータベース全体がロックされますか?それともテーブルだけ?それとも個々の行だけですか?輸出はどのくらい正確にInnoDBとなりますか?エクスポート時にMySQL InnoDBテーブルがロックされる

答えて

0

ロックされているものを制御できます。

mysqldump --lock-all-tables 

ドキュメントを::

することは最も安全であるために、あなたはこのようなすべてのテーブルをロックすることができ、すべてのデータベース間ですべてのテーブルをロックします。これは、ダンプ全体の期間にわたってグローバル・リード・ロックを取得することによって実現されます。このオプションは、--single-transactionと--lock-tablesを自動的に無効にします。

それとも、あなたがテーブルに変更するつもりはないことを確認している場合:

mysqldump --single-transaction 

ドキュメントを:--single-トランザクション・ダンプが有効なダンプ・ファイル(正しいテーブルの内容を保証するために、プロセスにある間バイナリログ座標)を使用する場合、ALTER TABLE、CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLEのような他の接続は使用しないでください。整合性のある読み込みはこれらのステートメントから分離されないので、ダンプするテーブルでそれらを使用すると、mysqldumpによって実行されるSELECTが不正な内容を取得するためにテーブルの内容を取得するか失敗する可能性があります。

関連する問題