欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql怎么延遲復(fù)制 mysql主從復(fù)制延遲時間

MySQL出現(xiàn)復(fù)制延遲是什么原因

主從復(fù)制延遲的監(jiān)測,我以前的做法是通過比較show slave statusG中的兩個變量的差值(Read_Master_Log_Pos,Exec_Master_Log_Pos),將差值設(shè)置為一個自己認(rèn)為合理的范圍,Seconds_Behind_Master 沒有適用過,今天做一次解析:

創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元宜秀做網(wǎng)站,已為上家服務(wù),為宜秀各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

Seconds_Behind_Master 是通過比較 SQL THREAD 接受 events事件的時間戳(timestamp) 與IO THREAD 執(zhí)行事件 events時間戳的差值--秒數(shù)來確定slave 落后于master多少。如果主從機(jī)器的時間不同,該時間的計算也是不會受影響的(如果時間發(fā)生異常,則這個秒數(shù)的就不怎么可靠啦)

如果slave SQL thread 或者 slave I/O thread 或者沒有連接到master,那么該變量的值為NULL.

0:表示master slave 復(fù)制沒有延遲(大部分情況下是這個樣子)。

正值:表示slave落后于master的秒數(shù)。

在網(wǎng)絡(luò)很快的情況下,I/O thread 能夠很快的從master上獲取binlog到slave的 relay-log。這種情況下, seconds_behind_master的值能真正代表slave落后于master的秒數(shù)。在網(wǎng)絡(luò)很差的情況下,I/O thread 同步很慢,slave收到的二進(jìn)制日志信息,SQL THREAD能夠很快的執(zhí)行。這個時候 seconds_behind_master 是0,這種情況下 slave落后于master很多。

為了排除網(wǎng)絡(luò)的干擾,我們可以參考percona 的工具 pt-heartbeat.

該工具可以計算出MySQL復(fù)制或者是PostgreSQL,它可以更新master或者監(jiān)控復(fù)制。它還可以從my.cnf 讀取配置。它借助timestmp的比較實現(xiàn)的,首先需要保證主從服務(wù)器時間必須要保持一致,通過與相同的一個NTP server同步時鐘。它需要在主庫上創(chuàng)建一個heartbeat的表,里面的時間戳ts就是當(dāng)前的時間戳 now(),該結(jié)構(gòu)也會被復(fù)制到從庫上。表建好以后,會在主庫上以后臺進(jìn)程的模式去執(zhí)行一行更新操作的命令,定期去向表中的插入數(shù)據(jù),這 個周期默認(rèn)為1 秒,同時從庫也會在后臺執(zhí)行一個監(jiān)控命令,與主庫保持一致的周期+0.5S(默認(rèn)0.5S延遲檢查)去比較,復(fù)制過來記錄的ts值與主庫上的同一條ts值,差值為0表示無延時,差值越大表示 延時的秒數(shù)越多。

什么情況會導(dǎo)致MySQL主從復(fù)制延遲

1.網(wǎng)絡(luò)的延遲

由于mysql主從復(fù)制是基于binlog的一種異步復(fù)制,通過網(wǎng)絡(luò)傳送binlog文件,理所當(dāng)然網(wǎng)絡(luò)延遲是主從不同步的絕大多數(shù)的原因,特別是跨機(jī)房的數(shù)據(jù)同步出現(xiàn)這種幾率非常的大,所以做讀寫分離,注意從業(yè)務(wù)層進(jìn)行前期設(shè)計。

2.主從兩臺機(jī)器的負(fù)載不一致

由于mysql主從復(fù)制是主數(shù)據(jù)庫上面啟動1個io線程,而從上面啟動1個sql線程和1個io線程,當(dāng)中任何一臺機(jī)器的負(fù)載很高,忙不過來,導(dǎo)致其中的任何一個線程出現(xiàn)資源不足,都將出現(xiàn)主從不一致的情況。

3.max_allowed_packet設(shè)置不一致

主數(shù)據(jù)庫上面設(shè)置的max_allowed_packet比從數(shù)據(jù)庫大,當(dāng)一個大的sql語句,能在主數(shù)據(jù)庫上面執(zhí)行完畢,從數(shù)據(jù)庫上面設(shè)置過小,無法執(zhí)行,導(dǎo)致的主從不一致。

4.key自增鍵開始的鍵值跟自增步長設(shè)置不一致引起的主從不一致。

怎樣解決MySQL數(shù)據(jù)庫主從復(fù)制延遲的問題

怎樣解決MySQL數(shù)據(jù)庫主從復(fù)制延遲的問題

可以通過監(jiān)控show slave status\G命令輸出的Seconds_Behind_Master參數(shù)的值來判斷,是否有發(fā)生主從延時。

其值有這么幾種:

NULL - 表示io_thread或是sql_thread有任何一個發(fā)生故障,也就是該線程的Running狀態(tài)是No,而非Yes.

0 - 該值為零,是我們極為渴望看到的情況,表示主從復(fù)制良好,可以認(rèn)為lag不存在。

正值 - 表示主從已經(jīng)出現(xiàn)延時,數(shù)字越大表示從庫落后主庫越多。

負(fù)值 - 幾乎很少見,只是聽一些資深的DBA說見過,其實,這是一個BUG值,該參數(shù)是不支持負(fù)值的,也就是不應(yīng)該出現(xiàn)。

網(wǎng)站名稱:mysql怎么延遲復(fù)制 mysql主從復(fù)制延遲時間
文章位置:http://chinadenli.net/article18/hjocgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名移動網(wǎng)站建設(shè)網(wǎng)站策劃外貿(mào)建站云服務(wù)器網(wǎng)站收錄

廣告

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

手機(jī)網(wǎng)站建設(shè)