MySQL+MGR+單主模式和多主模式的集群環(huán)境_第1頁(yè)
MySQL+MGR+單主模式和多主模式的集群環(huán)境_第2頁(yè)
MySQL+MGR+單主模式和多主模式的集群環(huán)境_第3頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MySQL+MGR單主模式和多主模式的集群環(huán)境MySQL Group Replication(簡(jiǎn)稱MGR)是MySQL官方于2016年12月推出的一個(gè)全新的高可用與高擴(kuò)展的解決方案。MGR是MySQL官方在5.7.17版本引進(jìn)的一個(gè)數(shù)據(jù)庫(kù)高可用與高擴(kuò)展的解決方案,以插件形式提供,實(shí)現(xiàn)了分布式下數(shù)據(jù)的最終一致性, 它是MySQL5.7版本出現(xiàn)的新特性,它提供了高可用、高擴(kuò)展、高可靠的MySQL集群服務(wù)。MySQL組復(fù)制分單主模式和多主模式,mysql 的復(fù)制技術(shù)僅解決了數(shù)據(jù)同步的問(wèn)題,如果 master 宕機(jī),意味著數(shù)據(jù)庫(kù)管理員需要介入,應(yīng)用系統(tǒng)可能需要修改數(shù)據(jù)庫(kù)連接地址或者重啟才能實(shí)現(xiàn)。(這里

2、也可以使用數(shù)據(jù)庫(kù)中間件產(chǎn)品來(lái)避免應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)連接的問(wèn)題,例如 mycat 和 atlas 等產(chǎn)品)。組復(fù)制在數(shù)據(jù)庫(kù)層面上做到了,只要集群中大多數(shù)主機(jī)可用,則服務(wù)可用,也就是說(shuō)3臺(tái)服務(wù)器的集群,允許其中1臺(tái)宕機(jī)。注意: 組中server可在獨(dú)立物理機(jī)運(yùn)行,也可在同一臺(tái)機(jī)器,同一機(jī)器采用多實(shí)例,也就是邏輯認(rèn)為是獨(dú)立機(jī)器; 組內(nèi)每臺(tái)主機(jī),都需要先安裝組復(fù)制插件.否則會(huì)導(dǎo)致啟動(dòng)失敗.一、MGR組復(fù)制的特點(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é)

3、點(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ě)入。二、MGR與傳統(tǒng)復(fù)制的區(qū)別和大幅改進(jìn)2.1 傳統(tǒng)復(fù)制 (即異步復(fù)制)主-從復(fù)制:有一個(gè)主和不等數(shù)量的從。主節(jié)點(diǎn)執(zhí)行的事務(wù)會(huì)異步發(fā)送給從節(jié)點(diǎn),在從節(jié)點(diǎn)重新執(zhí)行。即是在主節(jié)點(diǎn)執(zhí)行和提交事務(wù),然后把他們異步的發(fā)送到從節(jié)點(diǎn),行復(fù)制的重新執(zhí)行主節(jié)點(diǎn)的SQL語(yǔ)句,這是一個(gè) shared-nothing 的系統(tǒng),默認(rèn)情況下所有 server 成員都有一個(gè)完整的數(shù)據(jù)副本。2.2 半同步復(fù)制它在協(xié)議中添加了一個(gè)同步步驟。 這意味著主節(jié)點(diǎn)

4、在提交時(shí)需要等待從節(jié)點(diǎn)確認(rèn)它已經(jīng)接收到事務(wù)。只有這樣,主節(jié)點(diǎn)才能繼續(xù)提交操作。 半同步相對(duì)異步來(lái)說(shuō), Master會(huì)確認(rèn)Slave是否接到數(shù)據(jù),更加安全。2.3 并行復(fù)制并行復(fù)制:復(fù)制->廣播->正式復(fù)制. 并行復(fù)制的介紹可在 文中有介紹2.4 組復(fù)制 (MGR)1、MGR組復(fù)制原理組復(fù)制是一種可用于實(shí)現(xiàn)容錯(cuò)系統(tǒng)的技術(shù)。 復(fù)制組是一個(gè)通過(guò)消息傳遞相互交互的 server 集群。通信層提供了原子消息(atomic message)和完全有序信息交互等保障機(jī)制實(shí)現(xiàn)了基于復(fù)制協(xié)議的多主更新 復(fù)制組由多個(gè) server成員構(gòu)成,并且組中的每個(gè) server 成員可以獨(dú)立地執(zhí)行事務(wù)。但所有讀

5、寫(xiě)(RW)事務(wù)只有在沖突檢測(cè)成功后才會(huì)提交。只讀(RO)事務(wù)不需要在沖突檢測(cè),可以立即提交。句話說(shuō),對(duì)于任何 RW 事務(wù),提交操作并不是由始發(fā) server 單向決定的,而是由組來(lái)決定是否提交。準(zhǔn)確地說(shuō),在始發(fā) server 上,當(dāng)事務(wù)準(zhǔn)備好提交時(shí),該 server 會(huì)廣播寫(xiě)入值(已改變的行)和對(duì)應(yīng)的寫(xiě)入集(已更新的行的唯一標(biāo)識(shí)符)。然后會(huì)為該事務(wù)建立一個(gè)全局的順序。最終,這意味著所有 server 成員以相同的順序接收同一組事務(wù)。因此,所有 server 成員以相同的順序應(yīng)用相同的更改,以確保組內(nèi)一致。2、MySQL組復(fù)制協(xié)議工作流程需要注意:MGR組復(fù)制是一種 share-nothing

6、復(fù)制方案,其中每個(gè) server 成員都有自己的完整數(shù)據(jù)副本。3、MGR實(shí)現(xiàn)了基于復(fù)制協(xié)議的多主更新復(fù)制組由多個(gè) server成員構(gòu)成,并且組中的每個(gè) server 成員可以獨(dú)立地執(zhí)行事務(wù)。但所有讀寫(xiě)(RW)事務(wù)只有在沖突檢測(cè)成功后才會(huì)提交。只讀(RO)事務(wù)不需要在沖突檢測(cè),可以立即提交。換句話說(shuō),對(duì)于任何 RW 事務(wù),提交操作并不是由始發(fā) server 單向決定的,而是由組來(lái)決定是否提交。準(zhǔn)確地說(shuō),在始發(fā) server 上,當(dāng)事務(wù)準(zhǔn)備好提交時(shí),該 server 會(huì)廣播寫(xiě)入值(已改變的行)和對(duì)應(yīng)的寫(xiě)入集(已更新的行的唯一標(biāo)識(shí)符)。然后會(huì)為該事務(wù)建立一個(gè)全局的順序。最終,這意味著所有 serve

7、r 成員以相同的順序接收同一組事務(wù)。因此,所有 server 成員以相同的順序應(yīng)用相同的更改,以確保組內(nèi)一致。 組復(fù)制使您能夠根據(jù)在一組 server 中復(fù)制系統(tǒng)的狀態(tài)來(lái)創(chuàng)建具有冗余的容錯(cuò)系統(tǒng)。因此,只要它不是全部或多數(shù) server 發(fā)生故障,即使有一些 server 故障,系統(tǒng)仍然可用,最多只是性能和可伸縮性降低,但它仍然可用。server 故障是孤立并且獨(dú)立的。它們由組成員服務(wù)來(lái)監(jiān)控,組成員服務(wù)依賴于分布式故障檢測(cè)系統(tǒng),其能夠在任何 server 自愿地或由于意外停止而離開(kāi)組時(shí)發(fā)出信號(hào)。他們是由一個(gè)分布式恢復(fù)程序來(lái)確保當(dāng)有 server 加入組時(shí),它們會(huì)自動(dòng)更新組信息到最新。并且多主更新

8、確保了即使在單個(gè)服務(wù)器故障的情況下也不會(huì)阻止更新,不必進(jìn)行 server故障轉(zhuǎn)移。因此,MySQL 組復(fù)制保證數(shù)據(jù)庫(kù)服務(wù)持續(xù)可用。值得注意的一點(diǎn)是,盡管數(shù)據(jù)庫(kù)服務(wù)可用,但當(dāng)有一個(gè) server 崩潰時(shí),連接到它的客戶端必須定向或故障轉(zhuǎn)移到不同的 server。這不是組復(fù)制要解決的問(wèn)題。連接器,負(fù)載均衡器,路由器或其他形式的中間件更適合處理這個(gè)問(wèn)題。總之,MGR組復(fù)制提供了高可用性,高彈性,可靠的 MySQL 服務(wù)。4、MGR故障檢測(cè)故障檢測(cè)是提供關(guān)于哪些 server 可能已死的信息(猜測(cè))的分布式服務(wù)。 某個(gè) server 無(wú)響應(yīng)時(shí)觸發(fā)猜測(cè),組中其余成員進(jìn)行協(xié)調(diào)決定以排除給定成員。如果某個(gè)

9、server 與組的其余成員隔離,則它會(huì)懷疑所有其他 server 都失敗了。由于無(wú)法與組達(dá)成協(xié)議(因?yàn)樗鼰o(wú)法確保仲裁成員數(shù)),其懷疑不會(huì)產(chǎn)生后果。當(dāng)服務(wù)器以此方式與組隔離時(shí),它無(wú)法執(zhí)行任何本地事務(wù)。 在線 server 列表通常稱為視圖,新成員server的加入離開(kāi),無(wú)論是自愿還是被迫的離開(kāi),該組都會(huì)動(dòng)態(tài)地重新規(guī)劃其配置,并觸發(fā)視圖更新5、MGR的限制 存儲(chǔ)引擎必須為Innodb,即僅支持InnoDB表,并且每張表一定要有一個(gè)主鍵,用于做write set的沖突檢測(cè);每個(gè)表必須提供主鍵;只支持ipv4,網(wǎng)絡(luò)需求較高;必須打開(kāi)GTID特性,二進(jìn)制日志格式必須設(shè)置為ROW,用于選主與write

10、set; COMMIT可能會(huì)導(dǎo)致失敗,類(lèi)似于快照事務(wù)隔離級(jí)別的失敗場(chǎng)景;目前一個(gè)MGR集群組最多支持9個(gè)節(jié)點(diǎn);不支持外鍵于save point特性,無(wú)法做全局間的約束檢測(cè)與部分部分回滾;二進(jìn)制日志binlog不支持Replication event checksums;多主模式(也就是多寫(xiě)模式) 不支持SERIALIZABLE事務(wù)隔離級(jí)別;多主模式不能完全支持級(jí)聯(lián)外鍵約束;多主模式不支持在不同節(jié)點(diǎn)上對(duì)同一個(gè)數(shù)據(jù)庫(kù)對(duì)象并發(fā)執(zhí)行DDL(在不同節(jié)點(diǎn)上對(duì)同一行并發(fā)進(jìn)行RW事務(wù),后發(fā)起的事務(wù)會(huì)失敗);6、MGR組復(fù)制優(yōu)勢(shì)彈性復(fù)制(高擴(kuò)展性):server動(dòng)態(tài)添加移除高可用分片(高擴(kuò)展性):分片實(shí)現(xiàn)寫(xiě)擴(kuò)展

11、,每個(gè)分片是一個(gè)復(fù)制組。替代主從復(fù)制(高擴(kuò)展性):整組寫(xiě)入,避免單點(diǎn)爭(zhēng)用。自動(dòng)化系統(tǒng):自動(dòng)化部署Mysql復(fù)制到已有復(fù)制協(xié)議的自動(dòng)化系統(tǒng)。故障檢測(cè)與容錯(cuò):自動(dòng)檢測(cè),若服務(wù)faild,組內(nèi)成員大多數(shù)達(dá)成認(rèn)為該服務(wù)已不正常,則自動(dòng)隔離。組內(nèi)成員會(huì)構(gòu)成一個(gè)視圖,組內(nèi)成員主動(dòng)加入或離開(kāi)(主動(dòng)或被動(dòng)),都會(huì)更新組配置,更新視圖。成員自愿離開(kāi),先更新組配置,然后采用大多數(shù)成員(不包含主動(dòng)脫離的成員)意見(jiàn)是否確認(rèn)該成員離開(kāi)更新視圖。如果是故障要排除,則需大多數(shù)服務(wù)確認(rèn)(包括故障成員意見(jiàn)),然后才會(huì)更新組配置和視圖。 最大允許即時(shí)故障數(shù):f=(n-1)/2,多數(shù)正常則正常三、組復(fù)制兩種運(yùn)行模式單主模式, 組復(fù)

12、制具有自動(dòng)選主功能,每次只有一個(gè) server成員接受更新。單寫(xiě)模式group內(nèi)只有一臺(tái)節(jié)點(diǎn)可寫(xiě)可讀,其他節(jié)點(diǎn)只可以讀。對(duì)于group的部署,需要先跑起primary節(jié)點(diǎn)(即那個(gè)可寫(xiě)可讀的節(jié)點(diǎn),read_only = 0)然后再跑起其他的節(jié)點(diǎn),并把這些節(jié)點(diǎn)一一加進(jìn)group。其他的節(jié)點(diǎn)就會(huì)自動(dòng)同步primary節(jié)點(diǎn)上面的變化,然后將自己設(shè)置為只讀模式(read_only = 1)。當(dāng)primary節(jié)點(diǎn)意外宕機(jī)或者下線,在滿足大多數(shù)節(jié)點(diǎn)存活的情況下,group內(nèi)部發(fā)起選舉,選出下一個(gè)可用的讀節(jié)點(diǎn),提升為primary節(jié)點(diǎn)。primary選舉根據(jù)group內(nèi)剩下存活節(jié)點(diǎn)的UUID按字典序升序來(lái)選擇

13、,即剩余存活的節(jié)點(diǎn)按UUID字典序排列,然后選擇排在最前的節(jié)點(diǎn)作為新的primary節(jié)點(diǎn)。多主模式, 所有的 server 成員都可以同時(shí)接受更新。group內(nèi)的所有機(jī)器都是primary節(jié)點(diǎn),同時(shí)可以進(jìn)行讀寫(xiě)操作,并且數(shù)據(jù)是最終一致的。按照我的理解來(lái)說(shuō):單主模式:比多主模式多一個(gè)選舉程序,第一次引導(dǎo)開(kāi)啟集群的為主,后加入的為追隨者(也可以叫從機(jī)Slave),只有住的有讀寫(xiě)權(quán)限,別的追隨者在加入組的時(shí)候自動(dòng)把權(quán)限禁了。如果主的掛了,其他服務(wù)器會(huì)根據(jù)UUID和一個(gè)值(類(lèi)似權(quán)重)進(jìn)行重新選主。每次選主都會(huì)重新把權(quán)限禁一遍。多主模式:所有服務(wù)器加入組時(shí),讀寫(xiě)權(quán)限全部放開(kāi),大家都可以讀寫(xiě),但是只能更改

14、不同行的數(shù)據(jù),如果后加入集群的服務(wù)器改了一行數(shù)據(jù),那前面的服務(wù)器就不能再對(duì)這行數(shù)據(jù)進(jìn)行改動(dòng)了,如果改動(dòng)則報(bào)事務(wù)回滾取消改動(dòng),而后加入的可以改前面加入集群改過(guò)的數(shù)據(jù)。四、配置要求和限制inndb存儲(chǔ)引擎;每個(gè)表需要定義顯式主鍵;隔離級(jí)別:官網(wǎng)建議READ COMMITTED級(jí)別,不支持SERIALIZABLE隔離級(jí)別;不建議使用級(jí)聯(lián)外鍵;IPv4網(wǎng)絡(luò);auto_increment_increment和auto_increment_offset的配置;log-bin = ROW;log_slave_updates = ON;開(kāi)啟GTID;安裝引擎:group_replication.so;五、搭建

15、Mysql Group Replication基礎(chǔ)信息如下:IP portserver_idserver_uuid192.168.188.100(A)33061001b13df29e-90b6-11e8-8d1b-525400fc3993192.168.188.101(B)330610021fa7b3ca-9475-11e8-a217-5254004e7cfe192.168.188.102 (C)3306100381d824f1-90ba-11e8-a83d-52540043d75a1、/etc/f配置文件#192.168.188.100(A):mysqldbasedir=/usr/local

16、/mysqldatadir=/usr/local/mysql/data#socket=/usr/local/mysql/data/mysql.sockcharacter_set_server=utf8init_connect='SET NAMES utf8'lower_case_table_names = 1# Disabling symbolic-links is rmended to prevent assorted security riskssymbolic-links=0#log-error=/usr/local/mysql/logs/mysqld.log#pid-f

17、ile=/usr/local/mysql/pids/mysqld.pid# Group Replicationserver_id = 1001gtid_mode = ONenforce_gtid_consistency = ONmaster_info_repository = TABLErelay_log_info_repository = TABLEbinlog_checksum = NONElog_slave_updates = ONlog_bin = binlogbinlog_format= ROWtransaction_write_set_extraction ='XXHASH

18、64'loose-group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'loose-group_replication_start_on_boot = offloose-group_replication_local_address = '192.168.188.100:10061'loose-group_replication_group_seeds ='192.168.188.100:10061,192.168.188.102:10063,192.168.18

19、8.101:10062'loose-group_replication_bootstrap_group = off#group_replication_ip_whitelist = '192.168.188.100,192.168.188.102,192.168.188.101'report_host='192.168.188.100'log_timestamps='system'plugin-dir=/usr/local/mysql/plugin-192.168.188.101(B):mysqldbasedir=/usr/local/m

20、ysqldatadir=/usr/local/mysql/data#socket=/usr/local/mysql/data/mysql.sockcharacter_set_server=utf8init_connect='SET NAMES utf8'lower_case_table_names = 1# Disabling symbolic-links is rmended to prevent assorted security riskssymbolic-links=0#log-error=/usr/local/mysql/logs/mysqld.log#pid-fil

21、e=/usr/local/mysql/pids/mysqld.pid# Group Replicationserver_id = 1002gtid_mode = ONenforce_gtid_consistency = ONmaster_info_repository = TABLErelay_log_info_repository = TABLEbinlog_checksum = NONElog_slave_updates = ONlog_bin = binlogbinlog_format= ROWtransaction_write_set_extraction ='XXHASH64

22、'loose-group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'loose-group_replication_start_on_boot = offloose-group_replication_local_address = '192.168.188.101:10062'loose-group_replication_group_seeds ='192.168.188.100:10061,192.168.188.102:10063,192.168.188.

23、101:10062'loose-group_replication_bootstrap_group = offgroup_replication_ip_whitelist = '192.168.188.100,192.168.188.102,192.168.188.101'log_timestamps='system'report_host='192.168.188.101'plugin-dir=/usr/local/mysql/plugin-192.168.188.102 (C):mysqldbasedir=/usr/local/mys

24、qldatadir=/usr/local/mysql/data#socket=/usr/local/mysql/data/mysql.sockcharacter_set_server=utf8init_connect='SET NAMES utf8'lower_case_table_names = 1# Disabling symbolic-links is rmended to prevent assorted security riskssymbolic-links=0#log-error=/usr/local/mysql/logs/mysqld.log#pid-file=

25、/usr/local/mysql/pids/mysqld.pid# Group Replicationserver_id = 1003gtid_mode = ONenforce_gtid_consistency = ONmaster_info_repository = TABLErelay_log_info_repository = TABLEbinlog_checksum = NONElog_slave_updates = ONlog_bin = binlogbinlog_format= ROWtransaction_write_set_extraction ='XXHASH64&#

26、39;loose-group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'loose-group_replication_start_on_boot = offloose-group_replication_local_address = '192.168.188.102:10063'loose-group_replication_group_seeds ='192.168.188.100:10061,192.168.188.102:10063,192.168.188.10

27、1:10062'loose-group_replication_bootstrap_group = offgroup_replication_ip_whitelist = '192.168.188.100,192.168.188.102,192.168.188.101'log_timestamps='system'report_host='192.168.188.102'plugin-dir=/usr/local/mysql/plugin2、建立復(fù)制賬號(hào)A、B、C:mysql> SET SQL_LOG_BIN=0;mysql>

28、 CREATE USER repl'%' IDENTIFIED BY 'repl'mysql> GRANT REPLICATION SLAVE ON *.* TO repl'%'mysql> FLUSH PRIVILEGES;mysql> SET SQL_LOG_BIN=1;mysql> CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='repl' FOR CHANNEL 'group_replication_recovery

29、'3、安裝引擎復(fù)制group_replication.so到指定路徑:cp /usr/local/mysql/lib/plugin/group_replication.so /usr/local/mysql/plugin/INSTALL PLUGIN group_replication SONAME 'group_replication.so'show plugins;4、 單主模式(set global groupreplicationsingleprimarymode =ON):配置Group:192.168.188.100: 啟動(dòng)MGR單主模式(節(jié)點(diǎn)上192.16

30、8.188.100執(zhí)行) # 啟動(dòng)MGR,在主庫(kù)(192.168.188.100)上執(zhí)行mysql> set global group_replication_bootstrap_group=on;mysql> start group_replication;mysql> set global group_replication_bootstrap_group=off;查看mgr組信息mysql> SELECT * FROM performance_schema.replication_group_members;#其他節(jié)點(diǎn)加入MGR,在從庫(kù)(192.168.188.1

31、01,192.168.188.102)上執(zhí)行mysql> start group_replication;在節(jié)點(diǎn)1上查看mgr組信息mysql> SELECT * FROM performance_schema.replication_group_members;查看那個(gè)是主節(jié)點(diǎn):mysql> select * from performance_schema.global_status where variable_name='group_replication_primary_member'目前192.168.188.100是主節(jié)點(diǎn)192.168.188.1

32、00:mysql> select * from performance_schema.replication_group_members;+-+-+-+-+-+| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |+-+-+-+-+-+| group_replication_applier | 1fa7b3ca-9475-11e8-a217-5254004e7cfe | 192.168.188.101 | 3306 | ONLINE | group_replication_applier | 81d8

33、24f1-90ba-11e8-a83d-52540043d75a | 192.168.188.102 | 3306 | ONLINE | group_replication_applier | b13df29e-90b6-11e8-8d1b-525400fc3993 | 192.168.188.100 | 3306 | ONLINE |+-+-+-+-+-+3 rows in set (0.00 sec)mysql> show variables like '%read_on%'+-+-+| Variable_name | Value |+-+-+| innodb_rea

34、d_only | OFF | read_only | OFF | super_read_only | OFF | transaction_read_only | OFF | tx_read_only | OFF |+-+-+5 rows in set (0.00 sec)mysql> show variables like '%server_uuid%'+-+-+| Variable_name | Value |+-+-+| server_uuid | b13df29e-90b6-11e8-8d1b-525400fc3993 |+-+-+1 row in set (0.0

35、0 sec)mysql> select * from performance_schema.global_status WHERE VARIABLE_NAME like '%group_replication%'+-+-+| VARIABLE_NAME | VARIABLE_VALUE |+-+-+| group_replication_primary_member | b13df29e-90b6-11e8-8d1b-525400fc3993 |+-+-+1 row in set (0.01 sec)mysql> show variables like '%

36、group_replication_member_weight%'+-+-+| Variable_name | Value |+-+-+| group_replication_member_weight | 80 |+-+-+1 row in set (0.00 sec)192.168.188.101:mysql> select * from performance_schema.replication_group_members;+-+-+-+-+-+| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_

37、STATE |+-+-+-+-+-+| group_replication_applier | 1fa7b3ca-9475-11e8-a217-5254004e7cfe | 192.168.188.101 | 3306 | ONLINE | group_replication_applier | 81d824f1-90ba-11e8-a83d-52540043d75a | 192.168.188.102 | 3306 | ONLINE | group_replication_applier | b13df29e-90b6-11e8-8d1b-525400fc3993 | 192.168.188

38、.100 | 3306 | ONLINE |+-+-+-+-+-+3 rows in set (0.00 sec)mysql> show variables like '%read_on%'+-+-+| Variable_name | Value |+-+-+| innodb_read_only | OFF | read_only | ON | super_read_only | ON | transaction_read_only | OFF | tx_read_only | OFF |+-+-+5 rows in set (0.00 sec)mysql> sel

39、ect * from performance_schema.global_status WHERE VARIABLE_NAME like '%group_replication%'+-+-+| VARIABLE_NAME | VARIABLE_VALUE |+-+-+| group_replication_primary_member | b13df29e-90b6-11e8-8d1b-525400fc3993 |+-+-+1 row in set (0.01 sec)mysql> show variables like '%server_uuid%'+-

40、+-+| Variable_name | Value |+-+-+| server_uuid | 1fa7b3ca-9475-11e8-a217-5254004e7cfe |+-+-+1 row in set (0.00 sec)mysql> show variables like '%group_replication_member_weight%'+-+-+| Variable_name | Value |+-+-+| group_replication_member_weight | 50 |+-+-+1 row in set (0.00 sec)192.168.1

41、88.102:mysql> select * from performance_schema.replication_group_members;+-+-+-+-+-+| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |+-+-+-+-+-+| group_replication_applier | 1fa7b3ca-9475-11e8-a217-5254004e7cfe | 192.168.188.101 | 3306 | ONLINE | group_replication_applier |

42、81d824f1-90ba-11e8-a83d-52540043d75a | 192.168.188.102 | 3306 | ONLINE | group_replication_applier | b13df29e-90b6-11e8-8d1b-525400fc3993 | 192.168.188.100 | 3306 | ONLINE |+-+-+-+-+-+3 rows in set (0.00 sec)mysql> show variables like '%read_on%'+-+-+| Variable_name | Value |+-+-+| innodb

43、_read_only | OFF | read_only | ON | super_read_only | ON | transaction_read_only | OFF | tx_read_only | OFF |+-+-+5 rows in set (0.00 sec)mysql> select * from performance_schema.global_status WHERE VARIABLE_NAME like '%group_replication%'+-+-+| VARIABLE_NAME | VARIABLE_VALUE |+-+-+| group

44、_replication_primary_member | b13df29e-90b6-11e8-8d1b-525400fc3993 |+-+-+1 row in set (0.00 sec)mysql> show variables like '%server_uuid%'+-+-+| Variable_name | Value |+-+-+| server_uuid | 81d824f1-90ba-11e8-a83d-52540043d75a |+-+-+1 row in set (0.00 sec)mysql> show variables like '

45、;%group_replication_member_weight%'+-+-+| Variable_name | Value |+-+-+| group_replication_member_weight | 100 |+-+-+1 row in set (0.01 sec)5、驗(yàn)證1、主庫(kù)寫(xiě)入重庫(kù)查詢?cè)谥鲙?kù)上(192.168.188.100)創(chuàng)建數(shù)據(jù)庫(kù)并創(chuàng)建表寫(xiě)入測(cè)試數(shù)據(jù)create table tb_test(id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id',name varchar(64),PR

46、IMARY KEY (id);insert into tb_test values(1,'name1');insert into tb_test values(2,'name2');insert into tb_test values(3,'name3');insert into tb_test values(4,'name4');insert into tb_test values(5,'name5');insert into tb_test values(6,'name6');insert in

47、to tb_test values(7,'name7');insert into tb_test values(8,'name8');insert into tb_test values(9,'name9');insert into tb_test values(10,'name10');分別從另外2個(gè)從庫(kù)查詢數(shù)據(jù)192.168.188.101從庫(kù)查詢mysql> select * from tb_test;+-+-+| id | name |+-+-+| 1 | name1 | 2 | name2 | 3 | name3 | 4 | name4 | 5 | name5 | 6 | name6 | 7 | name7 | 8 | name8 | 9 | name9 | 10 | name10 |+-+-+10 rows in set (0.00 sec)192.168.188.102從庫(kù)查詢mysql> select * from tb_test;+-+-+| id | name |+-+-+| 1 | name1 | 2 | name2 | 3 | name3 | 4 | name4 | 5 | name5 | 6 | name6 | 7

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論