sql >> データベース >  >> RDS >> Mysql

mysqldumpの同時実行性

    それは確かではありません。Mysqlマニュアル :

    このオプションは、データをダンプする前にSTARTTRANSACTIONSQLステートメントをサーバーに送信します。 InnoDBやBDBなどのトランザクションテーブルでのみ役立ちます。これは、アプリケーションをブロックせずにBEGINが発行されたときのデータベースの一貫性のある状態をダンプするためです。

    このオプションを使用するときは、InnoDBテーブルのみが一貫性のある状態でダンプされることに注意する必要があります。たとえば、このオプションの使用中にダンプされたMyISAMまたはMEMORYテーブルは、引き続き状態を変更する可能性があります。

    --single-transactionダンプが処理中の間、有効なダンプファイル(正しいテーブルの内容とバイナリログ座標)を確保するために、他の接続では次のステートメントを使用しないでください:ALTER TABLE、CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATETABLE。一貫性のある読み取りはこれらのステートメントから分離されないため、ダンプされるテーブルでそれらを使用すると、mysqldumpによって実行されるSELECTがテーブルの内容を取得して誤った内容を取得したり、失敗したりする可能性があります。

    --single-transactionオプションと--lock-tablesオプションは相互に排他的です。これは、LOCKTABLESによって保留中のトランザクションが暗黙的にコミットされるためです。

    このオプションは、MySQLClusterテーブルではサポートされていません。 NDBCLUSTERストレージエンジンはREAD_COMMITTEDトランザクション分離レベルのみをサポートしているため、結果の一貫性を保証することはできません。代わりに、常にNDBbackupと復元を使用する必要があります。

    大きなテーブルをダンプするには、-single-transactionoptionと--quickを組み合わせる必要があります。

    ライブDBをバックアップ/移動する場合は、MySQLレプリケーション




    1. MySQLのパフォーマンス:MySQLデータベースのインデックス作成を活用する方法

    2. Postgresql変化するビットを整数に変換します

    3. Railsの1つのActiveRecordトランザクションで複数のレコードを更新する

    4. 別のコンピューターからXAMPPMySqlデータベースにアクセスする