溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql數(shù)據(jù)庫集群出現(xiàn)1236錯(cuò)誤導(dǎo)致主庫與從庫無法同步的

發(fā)布時(shí)間:2020-02-28 02:50:14 來源:網(wǎng)絡(luò) 閱讀:351 作者:o鳳舞九天o 欄目:MySQL數(shù)據(jù)庫

/etc/my.cnf中sync_binlog參數(shù)設(shè)置累積多少個(gè)事務(wù)數(shù)后落盤

?

說明:

1.???? 數(shù)據(jù)存到數(shù)據(jù)庫和binlog落盤是同時(shí)進(jìn)行的

2.???? 數(shù)據(jù)是先存在內(nèi)存中,達(dá)到設(shè)置的事務(wù)數(shù)后才落盤的

3.???? 從庫讀的是主庫的內(nèi)存中的數(shù)據(jù),并非落盤的數(shù)據(jù)

4.???? 寫入數(shù)據(jù)時(shí),只要主庫存活,就寫入到主庫

?

mysql數(shù)據(jù)庫集群出現(xiàn)1236錯(cuò)誤導(dǎo)致主庫與從庫無法同步的

過程狀態(tài)記錄:

?前提:50個(gè)事務(wù)一落盤

1.???? 未斷電前:主庫內(nèi)存中正在從50進(jìn)行到60,從庫讀取主庫內(nèi)存中到58并存入從庫

2.???? 斷電:主庫中50-60的數(shù)據(jù)存在于內(nèi)存中,binlog無法落盤,數(shù)據(jù)沒有保存到數(shù)據(jù)庫文件。開始寫數(shù)據(jù)到從庫中,數(shù)據(jù)進(jìn)行到61,之后數(shù)據(jù)逐漸寫入從庫

3.???? 主庫重啟:主庫上的50-60的binlog丟失,數(shù)據(jù)丟失,數(shù)據(jù)開始寫入主庫,binlog記錄從50開始。從庫從主庫內(nèi)存中讀數(shù)據(jù),讀到50時(shí),從庫發(fā)現(xiàn)自己已經(jīng)接收過50的數(shù)據(jù),就不再接收,就不進(jìn)行同步了。此時(shí)狀態(tài)為:只寫數(shù)據(jù)到主庫,從庫不同步。

4.???? 最終結(jié)果:從庫中的數(shù)據(jù)為1-58,61-…,缺少的是58-60的,主庫中的數(shù)據(jù)是1-49,…-…,

?

?

完整過程描述:

50個(gè)事務(wù)后落盤,主庫正在寫數(shù)據(jù),此時(shí)斷電,內(nèi)存中寫到60,從庫從主庫內(nèi)存中讀到58,從庫讀取到58后產(chǎn)生數(shù)據(jù)到從庫上,主庫由于未到50個(gè)事務(wù),不會(huì)存盤。導(dǎo)致50-60之間的事務(wù),未能生成binlog日志到盤上,同時(shí)數(shù)據(jù)也未寫入到數(shù)據(jù)庫文件上,導(dǎo)致58-60的數(shù)據(jù)既不在主庫上也不在從庫上,丟失。主庫重啟后,由于盤上記錄的數(shù)據(jù)是到49,因而從50開始記錄,此時(shí)從庫再從主庫上讀的時(shí)候發(fā)現(xiàn)自己已經(jīng)有50了,這樣就產(chǎn)生沖突,就無法繼續(xù)讀取主庫的數(shù)據(jù)了。

?

現(xiàn)象:同步損壞,主庫重啟后,再寫數(shù)據(jù),只到主庫

?


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI