MySQL マスタースレーブレプリケーションの原理と注意点

MySQL マスタースレーブレプリケーションの原理と注意点

前面に書かれた

最近、Mycat で特別なトピックを書いています。最近、多くの友人が面接に出かけているので、以前の面接でこれらの質問を受けたので、MySQL のマスタースレーブレプリケーションの原則と注意事項を簡単に書き留めておいてほしいと頼まれました。私:もちろん、手配済みです! !

マスタースレーブ複製原理

(1)マスターは、設定ファイルlog-binで指定されたファイルであるバイナリログにデータの変更を記録します。これらの記録はバイナリログイベントと呼ばれます。

(2)スレーブはI/Oスレッドを介してマスター内のバイナリログイベントを読み取り、それをリレーログに書き込みます。

(3)スレーブはリレーログ内のイベントをやり直し、リレーログ内のイベント情報をローカルで一つずつ実行してデータのローカル保存を完了し、自身のデータに変更を反映させる(データ再生)。

予防

(1)マスターサーバーとスレーブサーバーのオペレーティングシステムのバージョンとビット番号が一致していること。

(2)マスターデータベースとスレーブデータベースのバージョンは一致していなければならない。

(3)マスターデータベースとスレーブデータベースのデータは一貫していなければならない。

(4)マスターはバイナリログを開始します。マスターとスレーブのserver_idはローカルエリアネットワーク内で一意である必要があります。

マスタースレーブレプリケーション手順を構成する

マスターデータベース

(1)データベースをインストールする。

(2)データベース構成ファイルを変更し、server_idを指定してバイナリログ(log-bin)を有効にします。

(3)データベースを起動し、現在のログと位置番号を確認します。

(4)データベースにログインし、データ複製ユーザーを認証します(IPアドレスはスレーブIPアドレスです。双方向マスタースレーブの場合は、ローカルIPアドレスも認証する必要があります。この場合、自分のIPアドレスがスレーブIPアドレスになります)。

(5)データベースをバックアップする(ロックとロック解除を忘れずに)。

(6)バックアップデータをスレーブに送信する。

(7)データベースを起動する。

上記の手順は、一方向のマスター/スレーブ セットアップを成功させるためのものです。双方向のマスター/スレーブ セットアップを構築するには、次の手順を実行する必要があります。

(1)データベースにログインし、マスターのアドレス、ユーザー名、パスワードなどの情報を指定します(この手順は双方向マスタースレーブの場合にのみ必要です)。

(2)同期を有効にしてステータスを確認します。

スレーブの設定

(1)データベースをインストールする。

(2)データベース構成ファイルを変更し、server_idを指定します(双方向マスタースレーブシステムを構築する場合は、バイナリログlog-binも有効にする必要があります)。

(3)データベースを起動し、バックアップを復元する。

(4)現在表示されているログとその位置番号を確認します(この手順は、一方向のマスタースレーブ通信では必要ありませんが、双方向のマスタースレーブ通信では必要です)。

(5)マスターの住所、ユーザー名、パスワード等の情報を指定する。

(6)同期を有効にしてステータスを確認します。

さて、今日はここまでです。今後はMySQLのマスタースレーブレプリケーションをいろいろな形で実装していきます。Bingheです。また次回お会いしましょう! !

以上がMySQLマスタースレーブレプリケーションの原理と注意すべき点の詳細な内容です。MySQLマスタースレーブレプリケーションの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL マスタースレーブレプリケーションにおける重複キーの問題を修正する方法
  • MySql マスタースレーブレプリケーションメカニズムの包括的な分析
  • MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明
  • MYSQL データベース GTID はマスタースレーブレプリケーションを実現します (超便利)
  • MySql マスタースレーブレプリケーションの実装原理と構成
  • MySQL マスタースレーブレプリケーションでエラーをスキップする方法
  • MySQL マスタースレーブレプリケーション構成プロセス
  • MySQL マスタースレーブレプリケーションの原理からインストールと設定までを包括的に解説します。
  • MySQL マスタースレーブレプリケーションのいくつかのレプリケーション方法の概要
  • MySQL マスタースレーブレプリケーション切断の一般的な修復方法

<<:  VueはElement el-uploadコンポーネントを使用してピットに足を踏み入れます

>>:  CentOS8でのDockerの使い方の詳しい説明

推薦する

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...

MySQLインデックスを最適化する方法

1. MySQL のインデックスの使用方法インデックスは、特定の列の値を持つ行をすばやく見つけるため...

CSS3 のテキストとフォントの新しい設定

テキストシャドウテキストシャドウ: 水平オフセット 垂直オフセット ぼかし色互換性: IE10+ &...

CSS を使用して固定左列と適応右列の 2 列レイアウトを実現する 4 つの方法

1. フロート+オーバーフロー:非表示このメソッドは主にオーバーフローを通じて BFC をトリガーし...

シンプルなタブバー切り替えケースを実現するJavaScript

この記事では、タブバーの切り替え効果を簡単に実現するためのJavaScriptの具体的なコードを参考...

表 td 画像水平および垂直中央揃えコード

HTMLコード:コードをコピーコードは次のとおりです。 <td align="cen...

HTML の ReadOnly と Enabled の違い

ReadOnly 属性を持つ TextBox は、クライアント上で次のマークアップとして表示されます...

jsはCanvasを使用して複数の画像を1つの実装コードにマージします

解決 関数 mergeImgs(リスト) { const imgDom = document.cre...

Vueはechartsに基づいて3次元の縦棒グラフを実装します

3次元縦棒グラフは、正面、右側、上部の3つの部分で構成されています。描画するときは、正面をグラフィッ...

MySQLのロック構造の詳細な説明

Mysqlは3種類のロック構造をサポートしていますテーブルレベルのロック、低オーバーヘッド、高速ロッ...

docker compose を使用して FastDfs ファイル サーバーをインストールする詳細な例

ドッカーの作成 バージョン: '2' サービス: fastdfsトラッカー: ホスト...

JavaScript における var と let の違い

目次1. スコープはさまざまな方法で表現されます2. 変動昇進と非昇進の違い3. 一時的なデッドゾー...

case when文のエラー問題の詳細な説明

序文MySQL データベースでは、if else のような判断演算を使用することがあります。では、M...

MySQL のスロークエリの方法と例

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

MySQL サーバー 5.5 の接続失敗の解決策

mysqlに接続できない問題の解決方法を参考までに紹介します。具体的な内容は以下のとおりです。昨日は...