mysql MGR 單主多主模式切換知識點詳解
主庫執(zhí)行
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、停止組復(fù)制(在所有MGR節(jié)點上執(zhí)行):
stop group_replication; set global group_replication_single_primary_mode=OFF; set global group_replication_enforce_update_everywhere_checks=ON;
1.2、隨便某個mgr節(jié)點執(zhí)行:186
SET GLOBAL group_replication_bootstrap_group=ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=OFF;
1.3、然后在其它mgr節(jié)點執(zhí)行:194 195
START GROUP_REPLICATION;
1.4、查看mgr組信息(任意MGR節(jié)點查看)
SELECT * FROM performance_schema.replication_group_members;
可以看到所有MGR節(jié)點狀態(tài)都是online,角色都是PRIMARY,MGR多主模式搭建成功。
驗證下MGR多主模式的節(jié)點數(shù)據(jù)同步:
在MGR-node1節(jié)點更新數(shù)據(jù):
在MGR-node2節(jié)點更新數(shù)據(jù)
在MGR-node3節(jié)點更新數(shù)據(jù)
MGR多主模式下, 所有節(jié)點都可以進(jìn)行讀寫操作.
2、切回單主模式
2.1、停止組復(fù)制(在所有MGR節(jié)點上執(zhí)行):
stop group_replication; set global group_replication_enforce_update_everywhere_checks=OFF; set global group_replication_single_primary_mode=ON;
2.2、選擇一個節(jié)點作為主節(jié)點,在主節(jié)點上執(zhí)行(186):
SET GLOBAL group_replication_bootstrap_group=ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=OFF;
2.3、在剩余節(jié)點,也就是從庫節(jié)點上執(zhí)行(194 195):
START GROUP_REPLICATION;
2.4、查看MGR組信息(任意MGR節(jié)點上都可查看):
SELECT * FROM performance_schema.replication_group_members;
切回單主模式,主具有讀寫權(quán)限,另外兩個從節(jié)點只讀不可寫.
設(shè)置MGR組集群的白名單網(wǎng)段: 添加節(jié)點所在網(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";
知識點擴充
MySQL Group Replication(MGR)是MySQL官方在5.7.17版本引進(jìn)的一個數(shù)據(jù)庫高可用與高擴展的解決方案,以插件形式提供,實現(xiàn)了分布式下數(shù)據(jù)的最終一致性,總結(jié)MGR特點如下:
- 高一致性:基于分布式paxos協(xié)議實現(xiàn)組復(fù)制,保證數(shù)據(jù)一致性;
- 高容錯性:自動檢測機制,只要不是大多數(shù)節(jié)點都宕機就可以繼續(xù)工作,內(nèi)置防腦裂保護機制;
- 高擴展性:節(jié)點的增加與移除會自動更新組成員信息,新節(jié)點加入后,自動從其他節(jié)點同步增量數(shù)據(jù),直到與其他節(jié)點數(shù)據(jù)一致;
- 高靈活性:提供單主模式和多主模式,單主模式在主庫宕機后能夠自動選主,所有寫入都在主節(jié)點進(jìn)行,多主模式支持多節(jié)點寫入。
以上就是mysql MGR 單主多主模式切換知識點詳解的詳細(xì)內(nèi)容,更多關(guān)于mysql MGR 單主多主模式切換的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL更新刪除操作update和delete使用詳解(小白慎用)
這篇文章主要為大家介紹了MySQL的更新刪除操作update和delete使用但是一定要慎用啊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05MySQL數(shù)據(jù)備份、還原、數(shù)據(jù)庫遷移以及表的導(dǎo)出和導(dǎo)入
作為流行的開源數(shù)據(jù)庫管理系統(tǒng),MySQL的使用者眾多,為了維護數(shù)據(jù)安全性,數(shù)據(jù)備份是必不可少的,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)備份、還原、數(shù)據(jù)庫遷移以及表的導(dǎo)出和導(dǎo)入的相關(guān)資料,需要的朋友可以參考下2022-11-11MySQL中count()和count(1)有何區(qū)別以及哪個性能最好詳解
count是一個函數(shù),用來統(tǒng)計數(shù)據(jù),但是count函數(shù)傳入的參數(shù)有很多種,比如count(1)、count(*)、count(字段)等,下面這篇文章主要給大家介紹了關(guān)于MySQL中count()和count(1)有何區(qū)別以及哪個性能最好的相關(guān)資料,需要的朋友可以參考下2022-08-08關(guān)于mysql innodb count(*)速度慢的解決辦法
innodb引擎在統(tǒng)計方面和myisam是不同的,Myisam內(nèi)置了一個計數(shù)器,所以在使用 select count(*) from table 的時候,直接可以從計數(shù)器中取出數(shù)據(jù)。而innodb必須全表掃描一次方能得到總的數(shù)量2012-12-12詳解MySQL中varchar和int隱式轉(zhuǎn)換的注意事項
這篇文章主要為大家詳細(xì)介紹了MySQL中varchar和int隱式轉(zhuǎn)換的注意事項,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12