怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突-創(chuàng)新互聯(lián)

怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、筠連ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的筠連網(wǎng)站制作公司

如果主庫(kù)觸發(fā)SQL語(yǔ)句:


insert into test_data(name) values(‘a(chǎn)a');

那么Master1生成binlog,推送數(shù)據(jù)變化到Master2,在Master2上面生成relay log,然后交由sql thread進(jìn)行變更重放,反之也是類似的流程,整個(gè)流程可以這樣描述。

怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突

如果Master2消費(fèi)了relay的數(shù)據(jù),然后會(huì)產(chǎn)生binlog(log_slave_updates默認(rèn)開啟),這個(gè)時(shí)候產(chǎn)生的binlog會(huì)繼續(xù)推送到Master1消費(fèi),然后來(lái)來(lái)回回推送,一套insert語(yǔ)句就無(wú)窮無(wú)盡了,顯然這種設(shè)計(jì)是不合理的,MySQL也肯定不會(huì)這么做。

那么問題的關(guān)鍵的部分就是:Master2是否推送了先前的binlog到Master1?

a) 如果推送了,Master1是如何過濾,避免后續(xù)無(wú)限循環(huán)

b) 如果沒有推送,Master2是如何過濾的

如果要理解這個(gè)過程,我們就需要模擬測(cè)試,查看數(shù)據(jù)流轉(zhuǎn)過程中的binlog情況,可以參考這個(gè)流程。

1) Master1的binlog

2) Master2的 relay log

3) Master的binlog

很快就部署好了一套主從環(huán)境,然后添加change master to 就快速搭建好了一套測(cè)試的雙主環(huán)境。

為了盡可能看到完整的binlog事件信息,我們開啟參數(shù)binlog_rows_query_log_events

在Master1觸發(fā)語(yǔ)句:

insert into test_data(name) values(‘gg');

得到的binlog事件如下,可以清楚的看到相關(guān)的SQL語(yǔ)句。

怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突

在Master2端,我們查看binlog的情況,在開啟binlog_rows_query_log_events的前提下會(huì)看到明顯少了事件:Rows_query.

怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突

此時(shí)需要思考的是,在這個(gè)過程中偏移量是否發(fā)生了變化,從Master1產(chǎn)生的binlog到Master的relay log,如果通過mysqlbinlog去解析,得到的偏移量情況都是一模一樣,而在Master2消費(fèi)后,產(chǎn)生了相關(guān)的binlog信息。

問題的關(guān)鍵就在這里,在Maser2里面是通過Server_id來(lái)標(biāo)注了數(shù)據(jù)的源頭,所以在這里就稱為整個(gè)數(shù)據(jù)流轉(zhuǎn)的終點(diǎn)了,也就意味著數(shù)據(jù)復(fù)制的時(shí)候是按照server_id來(lái)進(jìn)行U過濾的,每個(gè)Master端只會(huì)傳送自己相關(guān)的binlog信息。

如果從這個(gè)角度來(lái)說(shuō),MySQL對(duì)于復(fù)制中的server_id如此重要的一個(gè)原因就是基于此。

而如果換一個(gè)角度,看待基于偏移量的異步復(fù)制,其實(shí)也可以得到類似的信息。

這是Master1觸發(fā)insert語(yǔ)句后的binlog細(xì)節(jié)。

怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突

這是Master2接受實(shí)時(shí)數(shù)據(jù)后的binlog細(xì)節(jié)。

怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突

其實(shí)看到這里,還存在一個(gè)問題,那就是在偏移量模式下,如果需要一個(gè)數(shù)據(jù)變更操作在Master2丟失了,那么是沒有辦法進(jìn)行回溯的。

而基于GTID模式可以性標(biāo)識(shí)全局事務(wù),那么哪怕對(duì)這個(gè)操作進(jìn)行了重復(fù)應(yīng)用,哪怕是DDL語(yǔ)句,操作的影響行數(shù)也是0.

我們對(duì)一個(gè)已經(jīng)執(zhí)行的操作進(jìn)行再次應(yīng)用,看看MySQL是否會(huì)自動(dòng)舍棄該類操作。

mysql> SET @@SESSION.GTID_NEXT= '6fb744dd-05dd-11ea-ada7-52540043a8b5:6';

Query OK, 0 rows affected (0.00 sec)

mysql> use `test`; create table test_data (id int primary key auto_increment,name varchar(30));

Database changed

Query OK, 0 rows affected (0.00 sec)

查看show binlog events發(fā)現(xiàn)這個(gè)過程不會(huì)產(chǎn)生額外的binlog。

所以基于此,我們也基本明確了數(shù)據(jù)回環(huán)解決方法的一個(gè)設(shè)計(jì)思想,那就是如何讓MySQL能夠識(shí)別出那些已經(jīng)應(yīng)用的事務(wù)數(shù)據(jù),我想GTID是一個(gè)答案,而且分布式ID不用,這是MySQL內(nèi)部的處理機(jī)制,而且是MySQL能夠識(shí)別的方式。

關(guān)于怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

網(wǎng)站標(biāo)題:怎么在MySQL中通過配置雙主避免數(shù)據(jù)回環(huán)沖突-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://m.kartarina.com/article26/didhcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷做網(wǎng)站軟件開發(fā)營(yíng)銷型網(wǎng)站建設(shè)微信小程序品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
主站蜘蛛池模板: 日韩人妻无码精品一专区| 亚洲AV无码不卡在线播放| 日韩精品无码一区二区三区AV| 狠狠躁夜夜躁无码中文字幕| 亚洲AV无码乱码精品国产| 国产aⅴ无码专区亚洲av| 亚洲a∨无码一区二区| 日韩免费无码一区二区三区| 无码福利写真片视频在线播放| 国产AV无码专区亚洲AV毛网站| 亚洲精品无码久久毛片波多野吉衣| 亚洲精品无码专区久久久| 五月天无码在线观看| 亚洲爆乳无码精品AAA片蜜桃| 精品无码黑人又粗又大又长| 无码人妻熟妇AV又粗又大 | 无码国产精品一区二区高潮| 无码国内精品久久人妻蜜桃| 无码丰满熟妇浪潮一区二区AV| 亚洲欧洲无码AV不卡在线| 亚洲AV无码久久寂寞少妇| 人妻无码中文字幕免费视频蜜桃| 久久久久亚洲AV片无码| 五月婷婷无码观看| 中文字幕人成无码人妻综合社区| 国产真人无码作爱视频免费| 白嫩无码人妻丰满熟妇啪啪区百度| 亚洲最大中文字幕无码网站| 亚洲AV无码成人精品区在线观看| 亚洲精品无码专区2| 丰满亚洲大尺度无码无码专线| 日韩人妻无码精品久久免费一| 亚洲动漫精品无码av天堂| 精品久久久久久无码人妻热 | 无码人妻一区二区三区免费n鬼沢| av无码精品一区二区三区四区| 精品人妻无码一区二区三区蜜桃一 | 亚洲人片在线观看天堂无码| 亚洲av无码成h人动漫无遮挡| 人妻系列AV无码专区| 亚洲AV永久无码精品一区二区国产|