mysql MGR シングルマスターとマルチマスターモードの切り替えの知識ポイントの詳細な説明

mysql MGR シングルマスターとマルチマスターモードの切り替えの知識ポイントの詳細な説明

メインライブラリの実行

CREATE DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci;
使用テスト;
テーブルが存在しない場合は作成します h1 (id int(10) PRIMARY KEY AUTO_INCREMENT、name varchar(50) NOT NULL);
test.h1に値(1,"wang"),(2,"guo"),(3,"yang"),(4,"he")を挿入します。
test.h1 から * を選択します。

ライブラリからのテスト

test.h1 から id>3 の部分を削除します。
エラー 1290 (HY000): MySQL サーバーは --super-read-only オプションで実行されているため、このステートメントを実行できません

1. シングルマスターモードからマルチマスターモードに切り替える

1.1. グループレプリケーションを停止します(すべての MGR ノードで実行します)。

グループレプリケーションを停止します。
グローバル group_replication_single_primary_mode を OFF に設定します。
グローバル group_replication_enforce_update_everywhere_checks=ON を設定します。

1.2. 任意の mgr ノードを実行する: 186

グローバル group_replication_bootstrap_group を ON に設定します。
GROUP_REPLICATIONを開始します。
グローバル group_replication_bootstrap_group を OFF に設定します。

1.3、他のmgrノードで実行します: 194 195

GROUP_REPLICATIONを開始します。

1.4. mgr グループ情報の表示 (任意の MGR ノードから表示)

performance_schema.replication_group_members から * を選択します。

すべての MGR ノードのステータスがオンラインであり、ロールが PRIMARY であり、MGR マルチマスター モードが正常に確立されていることがわかります。

MGR マルチマスター モードでノード データの同期を確認します。

MGR-node1 のデータを更新します。

MGR-node2のデータを更新

MGR-node3のデータを更新

MGR マルチマスター モードでは、すべてのノードが読み取りおよび書き込み操作を実行できます。

2. シングルマスターモードに戻す

2.1. グループレプリケーションを停止します(すべての MGR ノードで実行します)。

グループレプリケーションを停止します。
グローバル group_replication_enforce_update_everywhere_checks=OFF を設定します。
グローバル group_replication_single_primary_mode を ON に設定します。

2.2. マスターノードとしてノードを選択し、マスターノード上で(186)を実行します。

グローバル group_replication_bootstrap_group を ON に設定します。
GROUP_REPLICATIONを開始します。
グローバル group_replication_bootstrap_group を OFF に設定します。

2.3. 残りのノード、つまりライブラリノード(194 195)で実行します。

GROUP_REPLICATIONを開始します。

2.4. MGR グループ情報を表示します (どの MGR ノードでも利用可能)。

performance_schema.replication_group_members から * を選択します。

シングルマスター モードに戻すと、マスターには読み取りおよび書き込み権限が与えられ、他の 2 つのスレーブ ノードは読み取り専用となり、書き込みはできなくなります。

MGRグループクラスタのホワイトリストネットワークセグメントを設定する: ノードが配置されているネットワークセグメントを追加します

グループレプリケーションを停止します。
グローバル group_replication_ip_whitelist="127.0.0.1/32,172.16.60.0/24,172.16.50.0/24,172.16.51.0/24" を設定します。
グループレプリケーションを開始します。
「group_replication_ip_whitelist」のような変数を表示します。

知識ポイントの拡張

MySQL グループ レプリケーション (MGR) は、MySQL バージョン 5.7.17 で導入されたデータベースの高可用性と高スケーラビリティを実現するソリューションです。プラグインの形式で提供され、分散データの最終的な一貫性を実現します。MGR の機能は次のようにまとめられます。

  • 高い一貫性: データの一貫性を確保するために、分散 Paxos プロトコルに基づいてグループ レプリケーションが実装されます。
  • 高い耐障害性: 自動検出メカニズムにより、大多数のノードがダウンしていない限り、システムは動作を継続でき、アンチブレインスプリット保護メカニズムが組み込まれています。
  • 高いスケーラビリティ: ノードの追加と削除により、グループ メンバー情報が自動的に更新されます。新しいノードが参加すると、他のノードとのデータの整合性が取れるまで、他のノードからの増分データが自動的に同期されます。
  • 高い柔軟性: シングルマスターモードとマルチマスターモードを提供します。シングルマスターモードでは、メインデータベースに障害が発生した後にマスターを自動的に選択できます。すべての書き込みはメインノードで実行されます。マルチマスターモードでは、マルチノード書き込みをサポートします。

以上がMySQL MGRシングルマスターとマルチマスターモード切り替えの知識ポイントの詳細な説明の詳細な内容です。MySQL MGRシングルマスターとマルチマスターモード切り替えの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL 8.0.15 で MGR シングル マスターと複数スレーブを構成する方法
  • MySQL MGR の利点は何ですか?
  • mysql 8.0.18 mgr のインストールと切り替え機能
  • MySQL 8.0.18 はクローンプラグインを使用して MGR 実装を再構築します
  • MySQL 5.7 MGR シングルマスター決定マスターノード方式の詳細説明
  • MySQL MGR 構築時の一般的な問題と解決策

<<:  史上最も便利な Zookeeper サーバーの構築方法 (推奨)

>>:  BootStrap グリッド間に隙間を残す解決策

推薦する

MySQL で乱数を生成し、文字列を連結する方法の例

この記事では、MySQL が乱数を生成し、文字列を連結する方法について例を使用して説明します。ご参考...

JavaScript の基礎: エラーキャプチャメカニズム

目次序文エラーオブジェクト投げる試して…捕まえて…最後に最終ルールトライ/キャッチパフォーマンスウィ...

JavaScript プロトタイプチェーンを理解するための 2 つの図

目次1. プロトタイプの関係2. プロトタイプチェーン3. 結論序文:前回の記事では、JavaScr...

カルーセル効果を実現するための純粋なjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...

MySQL DEFINER の使用方法の詳細な説明

目次序文: 1.DEFINERの簡単な紹介2. いくつかの注意点要約:序文: MySQL データベー...

画像の一時停止を実現するjQueryプラグイン

この記事では、画像の一時停止を実現するためのjQueryプラグインの具体的なコードを参考までに共有し...

Cronジョブを使用してCpanelでPHPを定期的に実行する方法

cpanel 管理バックエンドを開き、「詳細」オプションの下に「Clock Guardian Job...

Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明

背景docker とアイデアを使用して、Java Web の開発、展開、運用までのプロセス全体を実現...

Vue の要素カレンダー コンポーネントを使用したサンプル コード

まず効果図を見てみましょう: 完全なコードは添付されています <テンプレート> <...

画像ボタンをフォームのリセットボタンとして使用する方法

フォームを作成するときに、送信ボタンとリセットボタンを配置することがよくあります。ページの外観を考慮...

JavaScript でよく使われる 3 つの Web エフェクトの詳細な説明

目次1要素オフセットシリーズ1.1 オフセットの概要1.2 オフセットとスタイルの違い視覚領域クライ...

MySQL の効率的なクエリの左結合とグループ化 (プラス インデックス)

mysql 効率的なクエリMySQL は、左結合の速度を上げるために group by を犠牲にし...

Nginx で何ができるかの包括的な分析

序文この記事は、サードパーティのモジュールをロードせずにNginxで処理できることのみに焦点を当てて...

オーディオマニアにアピールするオーディオビジュアルLinuxディストリビューション

私は最近、多くの音楽に特化した Linux ディストリビューションの 1 つである Audiovis...