共計(jì) 2173 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。
自動(dòng)寫(xiě)代碼機(jī)器人,免費(fèi)開(kāi)通
這篇文章將為大家詳細(xì)講解有關(guān) mysql 中 MGR 單主多主模式切換的示例分析,丸趣 TV 小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
主庫(kù)執(zhí)行
CREATE DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci;
use test;
create table if not exists h2 (id int(10) PRIMARY KEY AUTO_INCREMENT,name varchar(50) NOT NULL);
insert into test.h2 values(1, wang),(2, guo),(3, yang),(4, he
select * from test.h2;
從庫(kù)測(cè)試
delete from test.h2 where id
ERROR 1290 (HY000): The MySQL server is running with the --super-read-only option so it cannot execute this statement
1、單主切換到多主模式
1.1、停止組復(fù)制 (在所有 MGR 節(jié)點(diǎn)上執(zhí)行):
stop group_replication;
set global group_replication_single_primary_mode=OFF;
set global group_replication_enforce_update_everywhere_checks=ON;
1.2、隨便某個(gè) mgr 節(jié)點(diǎn)執(zhí)行:186
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
1.3、然后在其它 mgr 節(jié)點(diǎn)執(zhí)行:194 195
START GROUP_REPLICATION;
1.4、查看 mgr 組信息 (任意 MGR 節(jié)點(diǎn)查看)
SELECT * FROM performance_schema.replication_group_members;
可以看到所有 MGR 節(jié)點(diǎn)狀態(tài)都是 online,角色都是 PRIMARY,MGR 多主模式搭建成功。
驗(yàn)證下 MGR 多主模式的節(jié)點(diǎn)數(shù)據(jù)同步:
在 MGR-node1 節(jié)點(diǎn)更新數(shù)據(jù):
在 MGR-node2 節(jié)點(diǎn)更新數(shù)據(jù)
在 MGR-node3 節(jié)點(diǎn)更新數(shù)據(jù)
MGR 多主模式下, 所有節(jié)點(diǎn)都可以進(jìn)行讀寫(xiě)操作.
2、切回單主模式
2.1、停止組復(fù)制 (在所有 MGR 節(jié)點(diǎn)上執(zhí)行):
stop group_replication;
set global group_replication_enforce_update_everywhere_checks=OFF;
set global group_replication_single_primary_mode=ON;
2.2、選擇一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn), 在主節(jié)點(diǎn)上執(zhí)行 (186):
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
2.3、在剩余節(jié)點(diǎn), 也就是從庫(kù)節(jié)點(diǎn)上執(zhí)行 (194 195):
START GROUP_REPLICATION;
2.4、查看 MGR 組信息 (任意 MGR 節(jié)點(diǎn)上都可查看):
SELECT * FROM performance_schema.replication_group_members;
切回單主模式, 主具有讀寫(xiě)權(quán)限, 另外兩個(gè)從節(jié)點(diǎn)只讀不可寫(xiě).
設(shè)置 MGR 組集群的白名單網(wǎng)段: 添加節(jié)點(diǎn)所在網(wǎng)段
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
知識(shí)點(diǎn)擴(kuò)充
MySQL Group Replication(MGR)是 MySQL 官方在 5.7.17 版本引進(jìn)的一個(gè)數(shù)據(jù)庫(kù)高可用與高擴(kuò)展的解決方案,以插件形式提供,實(shí)現(xiàn)了分布式下數(shù)據(jù)的最終一致性,總結(jié) MGR 特點(diǎn)如下:
高一致性:基于分布式 paxos 協(xié)議實(shí)現(xiàn)組復(fù)制,保證數(shù)據(jù)一致性;
高容錯(cuò)性:自動(dòng)檢測(cè)機(jī)制,只要不是大多數(shù)節(jié)點(diǎn)都宕機(jī)就可以繼續(xù)工作,內(nèi)置防腦裂保護(hù)機(jī)制;
高擴(kuò)展性:節(jié)點(diǎn)的增加與移除會(huì)自動(dòng)更新組成員信息,新節(jié)點(diǎn)加入后,自動(dòng)從其他節(jié)點(diǎn)同步增量數(shù)據(jù),直到與其他節(jié)點(diǎn)數(shù)據(jù)一致;
高靈活性:提供單主模式和多主模式,單主模式在主庫(kù)宕機(jī)后能夠自動(dòng)選主,所有寫(xiě)入都在主節(jié)點(diǎn)進(jìn)行,多主模式支持多節(jié)點(diǎn)寫(xiě)入。
關(guān)于“mysql 中 MGR 單主多主模式切換的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
向 AI 問(wèn)一下細(xì)節(jié)