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

mysql復(fù)制延遲怎么辦 mysql 延遲復(fù)制

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

通常少量延遲不是問題。如果要做到完全同步,對主數(shù)據(jù)庫性能勢必有影響。只要保證從數(shù)據(jù)庫是主數(shù)據(jù)庫在某個時間點的快照就成了。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)高港免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

如果要更具體分析,需要詳細描述你的應(yīng)用場景

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

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

Seconds_Behind_Master 是通過比較 SQL THREAD 接受 events事件的時間戳(timestamp) 與IO THREAD 執(zhí)行事件 events時間戳的差值--秒數(shù)來確定slave 落后于master多少。如果主從機器的時間不同,該時間的計算也是不會受影響的(如果時間發(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收到的二進制日志信息,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就是當前的時間戳 now(),該結(jié)構(gòu)也會被復(fù)制到從庫上。表建好以后,會在主庫上以后臺進程的模式去執(zhí)行一行更新操作的命令,定期去向表中的插入數(shù)據(jù),這 個周期默認為1 秒,同時從庫也會在后臺執(zhí)行一個監(jiān)控命令,與主庫保持一致的周期+0.5S(默認0.5S延遲檢查)去比較,復(fù)制過來記錄的ts值與主庫上的同一條ts值,差值為0表示無延時,差值越大表示 延時的秒數(shù)越多。

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

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

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

2.主從兩臺機器的負載不一致

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

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

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

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

如何解決mysql主從復(fù)制帶來的數(shù)據(jù)延遲問題

在主服務(wù)器上建立一個為從服務(wù)器進行復(fù)制使用的用戶。該賬戶必須授予 REPLICATION SLAVE 權(quán)限,由于僅僅是進行復(fù)制使用所以不需要再授予任何其它權(quán)限。

mysql GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'192.168.0.2' IDENTIFIED BY 'slavepasswd';

mysql FLUSH PRIVILEGES;

3、編輯主服務(wù)器的配置文件:/etc/my.cnf的[ mysqld ] 部分:

server-id = 本機數(shù)據(jù)庫 ID 標示,該部分還應(yīng)有一個server-id=Master_id選項,其中master_id必須為1到232之間的一個正整數(shù)值

log-bin = 二進制日志的位置和名稱

binlog-do-db = 需要備份的數(shù)據(jù)庫名,如果備份多個數(shù)據(jù)庫,重復(fù)設(shè)置這個選項即可

binlog-ignore-db = 不需要備份的數(shù)據(jù)庫苦命,如果備份多個數(shù)據(jù)庫,重復(fù)設(shè)置這個選項即可

Mysql 主從復(fù)制 當主庫掛掉,從庫還有復(fù)制延遲時,應(yīng)該怎么樣恢復(fù)完整

1、首先要在本地建立兩個mysql服務(wù)(參考這里),指定不同的端口。我這里一個主(3306),一個從(3307)。 2、然后修改主配置文件

標題名稱:mysql復(fù)制延遲怎么辦 mysql 延遲復(fù)制
文章地址:http://chinadenli.net/article46/higjhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計定制開發(fā)靜態(tài)網(wǎng)站營銷型網(wǎng)站建設(shè)全網(wǎng)營銷推廣網(wǎng)頁設(shè)計公司

廣告

聲明:本網(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)

營銷型網(wǎng)站建設(shè)