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

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

淡淡烟草味
淡淡烟草味

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

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

いいねを押す+0
    phpcn_u1582

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

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

    いいねを押す+0
      小葫芦

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

      いいねを押す+0
        最新のダウンロード
        詳細>
        ウェブエフェクト
        公式サイト
        サイト素材
        フロントエンドテンプレート
        私たちについて 免責事項 Sitemap
        PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!