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 では、datetime 型は通常、時間を保存するために使用されますが、現在では多くのシス...

tdが空の場合に境界線を表示する方法

以前、CSS を使用してテーブルの border + bordercolordark + borde...

Linux システム AutoFs 自動マウント サービスのインストールと構成

目次序文1. サービスプログラムをインストールする2. メイン設定ファイルを書く3. サブ構成ファイ...

Alibaba Cloud centos7にmysql8.0.22をインストールする詳細なチュートリアル

1. MySQLインストールパッケージをダウンロードするまず、https://dev.mysql.c...

シャドウソックスを使用してLAN透過ゲートウェイを構築する

目次dnsmasq をインストールして設定するChinaDNS をインストールして設定するshado...

フォームファイル選択ボックスのスタイルをカスタマイズする例

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...

Reactにおけるフックの一般的な使用法

目次1. フックとは何ですか? 2. フックはなぜ現れるのでしょうか? 3. よく使われるフックは何...

MySQL 8.0 の統計が不正確である理由

序文Oracle であれ MySQL であれ、新バージョンで導入された新機能は、一方では製品の機能性...

HTML 再利用テクニック

HTML の再利用は、あまり話題に上らない言葉です。今日は、この問題を次のようにまとめたいと思います...

N キロメートル以内のデータを検索する MySQL の簡単な例

地球の円周率と半径、検索ポイントの経度と緯度から、検索ポイントと検索データテーブル間の距離はNキロメ...

MySQLからMariaDBへのスムーズな移行のための詳細な手順

1. MariaDB と MySQL の紹介1. MariaDB の紹介MariaDB は、MySQ...

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

MySQLにインデックスを追加する方法

インデックスの簡単な紹介は次のとおりです。インデックスを追加する目的は、データベース クエリのパフォ...

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

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