mysql MGRシングルマスターモード切替知識点詳細


メインライブラリの実行

CREATE DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci;
use test;
create table if not exists h1 (id int(10) PRIMARY KEY AUTO_INCREMENT,name varchar(50) NOT NULL);
insert into test.h1 values(1,"wang"),(2,"guo"),(3,"yang"),(4,"he");
select * from test.h1;
ライブラリからテスト

delete from test.h1 where id>3;
ERROR 1290 (HY000): The MySQL server is running with the --super-read-only option so it cannot execute this statement
1、シングルマスターをマルチマスターモードに切り替える
1.1、停止グループコピー(すべてのMGRノードで実行):

stop group_replication;
set global group_replication_single_primary_mode=OFF;
set global group_replication_enforce_update_everywhere_checks=ON;
1.2、任意のmgrノードで実行する:186

SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
1.3、他のmgrノードで実行する:194 195
START GROUT_REPLICATION
1.4、mgrグループ情報を確認する(任意のMGRノードを参照)

SELECT * FROM performance_schema.replication_group_members;
すべてのMGRノードの状態はオンラインであり、キャラクターはPRIMARYであり、MGRマルチマスターモードの構築に成功していることが見られます。
MGRマルチマスターモードのノードデータ同期を確認します。
MGR−node 1ノードでデータを更新する:
MGR-node 2ノードでデータを更新する
MGR-node 3ノードでデータを更新する
MGRマルチマスターモードでは、すべてのノードで読み書きができます。
2、シングルマスターモードに切り返す
2.1、グループコピーを停止する(すべてのMGRノードで実行する):

stop group_replication;
set global group_replication_enforce_update_everywhere_checks=OFF;
set global group_replication_single_primary_mode=ON;
2.2、一つのノードをマスタノードとして選択し、マスタノード上で実行する(186):

SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
2.3、残りのノード、すなわちライブラリノードから実行する(194 195):

START GROUP_REPLICATION;
2.4、MGRグループ情報を確認する(任意のMGRノードでも確認可能):

SELECT * FROM performance_schema.replication_group_members;
シングルマスターモードに切り返します。主に読み書き権限があります。他の二つはノードから読み取り専用です。書き込み不可です。
MGRグループのクラスタのホワイトリストのネットワークセグメントを設定します。ノードのネットワークセグメントを追加します。

stop group_replication;
set global group_replication_ip_whitelist="127.0.0.1/32,172.16.60.0/24,172.16.50.0/24,172.16.51.0/24";
start group_replication;
show variables like "group_replication_ip_whitelist";
知識の拡充
MySQL Group Replication(MGR)は、MySQL公式の5.7.17バージョンで導入されたデータベースの高利用可能性と高い拡張されたソリューションをプラグインとして提供し、分散されたデータの最終的な一致を実現し、MGRの特徴を以下のように要約する。
  • の高い整合性:分散型paxosプロトコルに基づいてグループコピーを実現し、データの整合性を保証する。
  • 高フォールトトレランス:自動検出メカニズムは、ほとんどのノードではない限り、動作を継続することができます。
  • 高拡張性:ノードの増加と除去は、グループメンバー情報を自動的に更新し、新しいノードが加入すると、他のノードとのデータが一致するまで自動的に同期される。
  • 高霊活性:シングルマスターモードとマルチマスターモードを提供し、シングルマスターモードはメインバンク後に自動的にメインを選択でき、すべての書き込みはメインノードで行い、マルチマスターモードはマルチノード書き込みをサポートします。
  • 以上がmysql MGRシングルマスターモード切替の詳細です。mysql MGRシングルマスターモード切替に関する資料は他の関連記事に注目してください。