減少mysql主從數(shù)據(jù)同步延遲問題的詳解
基于局域網(wǎng)的master/slave機制在通常情況下已經(jīng)可以滿足'實時'備份的要求了。如果延遲比較大,就先確認(rèn)以下幾個因素:
1. 網(wǎng)絡(luò)延遲
2. master負載
3. slave負載
一般的做法是,使用多臺slave來分?jǐn)傋x請求,再從這些slave中取一臺專用的服務(wù)器,只作為備份用,不進行其他任何操作,就能相對最大限度地達到'實時'的要求了
另外,再介紹2個可以減少延遲的參數(shù)
–slave-net-timeout=seconds
參數(shù)含義:當(dāng)slave從主數(shù)據(jù)庫讀取log數(shù)據(jù)失敗后,等待多久重新建立連接并獲取數(shù)據(jù)
slave_net_timeout單位為秒 默認(rèn)設(shè)置為 3600秒
| slave_net_timeout | 3600
–master-connect-retry=seconds
參數(shù)含義:當(dāng)重新建立主從連接時,如果連接建立失敗,間隔多久后重試。
master-connect-retry單位為秒 默認(rèn)設(shè)置為 60秒
通常配置以上2個參數(shù)可以減少網(wǎng)絡(luò)問題導(dǎo)致的主從數(shù)據(jù)同步延遲
一般網(wǎng)絡(luò)問題的錯誤是:
070401 16:16:55 [ERROR] Error reading packet from server: Lost connection to MySQL server during query (server_errno=2013)
070401 16:16:55 [ERROR] Slave I/O thread: Failed reading log event, reconnecting to retry, log ‘mysql_master-bin.000134′ position 115817861
相關(guān)文章
Ubuntu16.04 server下配置MySQL,并開啟遠程連接的方法
這篇文章主要介紹了Ubuntu16.04 server下配置MySQL,并開啟遠程連接的方法,非常具有實用價值,需要的朋友可以參考下。2017-01-01mysql 5.7安裝 MySQL 服務(wù)無法啟動但是服務(wù)沒有報告任何錯誤
這篇文章主要介紹了mysql 5.7安裝 MySQL 服務(wù)無法啟動但是服務(wù)沒有報告任何錯誤的相關(guān)資料,需要的朋友可以參考下2017-04-04