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の使い方の詳しい説明

推薦する

mysql データはどこに保存されますか?

MySQLデータベースの保存場所: 1. MySQLがMyISAMストレージエンジンを使用する場合...

テキストエリアタグはサイズ変更できず、マウスでドラッグすることもできません

テキストエリアタグのサイズは不変ですコードをコピーコードは次のとおりです。 <textarea...

CSS変数がJSインタラクティブコンポーネント開発にもたらす改善と変更のサンプルコードの詳細な説明

1. CSS変数がもたらす質的変化CSS 変数によってもたらされる改善は、CSS コードの節約や C...

スプレッド演算子のサンプルコードと JavaScript での応用

スプレッド演算子を使用すると、式をある時点で展開できます。スプレッド演算子は、複数のパラメーター (...

jQuery を使用して、iframe 下の無効なページ アンカー ポイントの問題を修正する

適用シナリオ: iframe ページにスクロール バーがなく、親ウィンドウにスクロール バーが表示さ...

CentOS 6.8 での Hadoop 3.1.1 完全分散インストール ガイド (推奨)

上記:このドキュメントは、3 台の仮想マシンが相互に ping を実行できること、ファイアウォールが...

IE 環境での css-vars-ponyfill の使用に関する詳細な説明 (nextjs ビルド)

css-vars-ポニーフィルCSS 変数を使用して Web ページのスキニングを実現すると、互換...

レスポンシブ Web をデザインするにはどうすればいいですか?レスポンシブウェブデザインのメリットとデメリット

最近レスポンシブ デザインについて学んでいて、これについていくつか整理してみました。写真の一部はイン...

MySQL で GTID モードをオンラインで有効または無効にする

目次基本的な概要GTIDをオンラインで有効にする1. GTID検証ENFORCE_GTID_CONS...

MySQL スロークエリログの有効化と設定

導入MySQL スロー クエリ ログは、問題のある SQL ステートメントのトラブルシューティングや...

Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)

1. 前提条件1. プロジェクトが展開されました2. Dockerはすでにインストールされている2...

よく使われるHTMLタグのインライン要素とブロックレベル要素の詳細な説明

ブロック要素HTMLタグ分類の詳細* 住所 - 住所* blockquote - ブロック引用* c...

効率的な視覚化Nginxログ表示ツール

目次導入インストール表示フィールドフィルターソートキー導入Rhit は、標準フォルダー (gzip ...

HTML マルチヘッダーテーブルコード

1. マルチヘッダーテーブルコードコードをコピーコードは次のとおりです。 <!DOCTYPE ...

Linux でローカル コンピューターとリモート サーバーのポートが接続されているかどうかを確認する方法

以下のように表示されます。 1. ssh -v -p [ポート番号] [ユーザー名]@[IPアドレス...