成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Mysql MGR單主模式的簡(jiǎn)單配置

IT那活兒 / 3211人閱讀
Mysql MGR單主模式的簡(jiǎn)單配置
[
MGR簡(jiǎn)介
]


基于傳統(tǒng)異步復(fù)制和半同步復(fù)制的缺陷——數(shù)據(jù)的一致性問題無(wú)法保證,MySQL官方在5.7.17版本正式推出組復(fù)制(MySQLGroupReplication,簡(jiǎn)稱MGR),以插件形式提供,實(shí)現(xiàn)了分布式下數(shù)據(jù)的最終一致性,提供了高可用、高擴(kuò)展、高可靠的MySQL集群服務(wù)。

[
同步原理
]


MGR是一種可用于實(shí)現(xiàn)容錯(cuò)系統(tǒng)的技術(shù)。復(fù)制組是一個(gè)通過消息傳遞相互交互的Server集群,由多個(gè)Server成員組成,如上圖的Master1、Master2、Master3,所有成員獨(dú)立完成各自的事務(wù)。


當(dāng)客戶端發(fā)起一個(gè)更新事務(wù)時(shí),該事務(wù)先在本地執(zhí)行,執(zhí)行完成之后就要發(fā)起對(duì)事務(wù)的提交操作。在還沒有真正提交之前,需要將產(chǎn)生的復(fù)制寫集(WRITESET)廣播出去,復(fù)制到其它成員。如果沖突檢測(cè)成功,組內(nèi)決定該事務(wù)可以提交,其它成員可以應(yīng)用,否則就回滾。

最終,所有組內(nèi)成員以相同的順序接收同一組事務(wù)。因此組內(nèi)成員以相同的順序應(yīng)用相同的修改,保證組內(nèi)數(shù)據(jù)強(qiáng)一致性。從MGR復(fù)制原理上看,當(dāng)主節(jié)點(diǎn)事務(wù)提交時(shí),輔助節(jié)點(diǎn)上可能還未重放該事務(wù)對(duì)應(yīng)的BINLOG,因此MGR仍屬于異步復(fù)制。


[
環(huán)境準(zhǔn)備
]


本次僅配置MGR的單主模式,采用了三臺(tái)linux虛機(jī):

規(guī)劃

IP

SERVER_ID

服務(wù)端口

通信端口

192.168.100.110

1

3306

10086

192.168.100.111

2

3306

10086

192.168.100.112

3

3306

10086


[
Mysql數(shù)據(jù)庫(kù)初始化配置
]


編輯mysql參數(shù)文件,3個(gè)節(jié)點(diǎn)除了server_id、loose-group_replication_local_address參數(shù)不一樣外,其他保持一致,因?yàn)閮H演示,參數(shù)僅配置需要的參數(shù)。

192.168.100.110:

[mysqld]

datadir=/data/data3306

socket=/data/data3306/mysql3306.sock

user=mysql

log-bin=mysql-bin

server-id  = 1

port=3306

pid-file=/data/data3306/pid3306.pid

innodb-buffer-pool-size=300m

basedir=/opt/mysql

log-error=/data/data3306/3306.err.log

sync_binlog = 1

auto-increment-increment = 2

auto-increment-offset = 1

slave-skip-errors = all

explicit_defaults_for_timestamp=ON

gtid_mode=ON

enforce_gtid_consistency=ON

master_info_repository=TABLE

relay_log_info_repository=TABLE

binlog_checksum=NONE

log_slave_updates=ON

log_bin=binlog

binlog_format=ROW

#super_read_only=ON

slave_parallel_type=logical_clock

slave_parallel_workers=16

slave_preserve_commit_order=ON

transaction_write_set_extraction=XXHASH64

loose-group_replication_single_primary_mode = true

loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"

loose-group_replication_start_on_boot=off

loose-group_replication_local_address= "mysql-master:10086"

loose-group_replication_group_seeds= "mysql-master:10086,mysql-slave:10086,Oracle19c:10086"

loose-group_replication_bootstrap_group= off

loose-group_replication_enforce_update_everywhere_checks = false


192.168.100.111

server-id  = 2

loose-group_replication_local_address= "mysql-slave:10086"


192.168.100.110

server-id  = 3

loose-group_replication_local_address= "Oracle19c:10086"——無(wú)視亂入的主機(jī)名。。。


*參數(shù)說明

關(guān)于GTID及日志信息記錄相關(guān)參數(shù):

gtid_mode=on打開GTID特性

enforce-gtid-consistency=on

master_info_repository=TABLE

relay_log_info_repository=TABLE

binlog_format=ROW 必須使用基于行的格式

binlog_checksum=NONE 禁用二進(jìn)制日志事件校驗(yàn)和


關(guān)于MGR相關(guān)參數(shù)說明:

transaction_write_set_extraction #記錄事務(wù)的算法

group_replication_start_on_boot#是否隨服務(wù)器啟動(dòng)而自動(dòng)啟動(dòng)組復(fù)制

group_replication_bootstrap_group#引導(dǎo)組成員的組,這個(gè)用于第一次搭建MGR跟重新搭建MGR的時(shí)候使用

group_replication_group_name #此GROUP的名字,必須是一個(gè)有效的UUID,以此來(lái)區(qū)分整個(gè)內(nèi)網(wǎng)里邊的各個(gè)不同的GROUP

group_replication_local_address#本地的IP地址字符串,host:port

group_replication_group_seeds #需要接受本實(shí)例的信息服務(wù)器IP地址字符串

group_replication_single_primary_mode#是否啟動(dòng)單主模式,如果啟動(dòng),則本實(shí)例是主庫(kù),提供讀寫,其他實(shí)例僅提供讀

group_replication_enforce_update_everywhere_checks#多主模式下,強(qiáng)制檢查每一個(gè)實(shí)例是否允許該操作


[
Mysql MGR配置
]


MGR插件安裝(各庫(kù)均執(zhí)行)

mysql>INSTALL PLUGIN group_replication SONAME group_replication.so;


設(shè)置復(fù)制賬號(hào)(各庫(kù)均執(zhí)行)

SET SQL_LOG_BIN=0;

CREATE USER repl@% IDENTIFIED BY 123;

GRANT REPLICATION SLAVE ON *.* TO repl@%;

FLUSH PRIVILEGES;

SET SQL_LOG_BIN=1;

CHANGE MASTER TO MASTER_USER=repl, MASTER_PASSWORD=123 FOR CHANNEL group_replication_recovery;


啟動(dòng)MGR主庫(kù)

SET GLOBAL group_replication_bootstrap_group=ON;

START GROUP_REPLICATION;

SET GLOBAL group_replication_bootstrap_group=OFF;


其他節(jié)點(diǎn)加入MGR

START GROUP_REPLICATION;


*設(shè)置復(fù)制賬號(hào)時(shí),應(yīng)全部操作不寫bin_log,即可不需要使用“setglobal group_replication_allow_local_disjoint_gtids_join=ON;”


驗(yàn)證是否加入成功


可以看到,一個(gè)單主模式的MGR已經(jīng)配置成功。下面來(lái)做一些同步驗(yàn)證。


同步驗(yàn)證:

主庫(kù)操作

主庫(kù)(192.168.100.111)建庫(kù)建表,并插入數(shù)據(jù):


備庫(kù)驗(yàn)證

192.168.100.112


192.168.100.110

可以看到,在主庫(kù)執(zhí)行的操作均在組內(nèi)其他節(jié)點(diǎn)得以回放,驗(yàn)證成功。

[
總結(jié)展望  ]

篇幅有限,關(guān)于MGR的簡(jiǎn)單介紹只能到這里,更多關(guān)于MGR特性的演示,只能后續(xù)再給大家呈現(xiàn)了,希望有興趣的小伙伴一起交流學(xué)習(xí)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/130114.html

相關(guān)文章

  • 深度分析 | MGR相同GTID產(chǎn)生不同transaction故障分析

    摘要:對(duì)于該故障的分析,我們要從主從實(shí)例相同,但是事務(wù)不同的原因入手,該問題猜測(cè)與相關(guān),我們針對(duì)同步事務(wù)的時(shí)序做如下分析。接受者被動(dòng)接收提議者的提議,并記錄和反饋,或?qū)W習(xí)達(dá)成共識(shí)的提議。節(jié)點(diǎn)將的提案信息發(fā)送至組內(nèi),仍收到了大多數(shù)成員返回。 本文是由愛可生運(yùn)維團(tuán)隊(duì)出品的「MySQL專欄」系列文章,內(nèi)容來(lái)自于運(yùn)維團(tuán)隊(duì)一線實(shí)戰(zhàn)經(jīng)驗(yàn),涵蓋MySQL各種特性的實(shí)踐,優(yōu)化案例,數(shù)據(jù)庫(kù)架構(gòu),HA,監(jiān)控等...

    wuaiqiu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<