mysql のマスター/スレーブおよびスレーブ データベース ロック テーブルはレプリケーションのブロックを引き起こしますか?
淡淡烟草味
淡淡烟草味 2017-06-22 11:54:33
0
3
1286

Mysql はマスターとスレーブで構成されており、スレーブ データベースは遅いステートメントのクエリに使用されます。クエリ中にテーブルがロックされている場合、マスター データベースは常にそのテーブルをコピーしますか?それとも、遅いクエリが完了するまで待ってからコピーするのでしょうか?

淡淡烟草味
淡淡烟草味

全員に返信(3)
巴扎黑
  1. マスターとスレーブの同期は binlog を通じて実行されます。スレーブ ライブラリには 2 つのスレッドがあり、1 つは binlog ログの受信を担当し、もう 1 つはログの解析とライブラリへのデータの書き込みを担当します。したがって、一般にマスタとスレーブの同期にはある程度の遅延が生じます。

  2. 読み取り/書き込みロックの問題に関しては、書き込みロックは排他的であり、読み取りロックは複数回取得できます。 Innodb では、ロックはテーブル ロック、行ロック、ギャップ ロックに分類されます。挿入操作でテーブルのロックが必要な場合、クエリでテーブルの行をロックする場合は、当然ながら待機する必要があります。

いいねを押す +0
phpcn_u1582

質問をもう一度よく考えてください。

私の質問の理解によると、マスター ライブラリがスレーブ ライブラリをリアルタイムで複製していると確信していますか? このロジックには何か問題があります。

いいねを押す +0
小葫芦

誤解を招きやすい、マスターとスレーブのレプリケーション。通常、スレーブ ライブラリではレプリケーション プロセス以外の書き込み操作は許可されません。もちろん、手動でロックを解除する必要がある場合でも、スレーブ ライブラリのクエリ操作はレプリケーション書き込みプロセスをブロックしません。メイン ライブラリは、スレーブ ライブラリからのデータをロックされたレコードに同期し、スレーブ ライブラリのロックを待機するため、スレーブ ライブラリの書き込みアクションは、管理者を除くすべてが厳密に制御される必要があります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート