減少mysql主從數據同步延遲

 減少mysql主從數據同步延遲  

 
 網上給出的解決辦法:
 
 基於局域網的master/slave機制在通常情況下已經可以滿足'實時'備份的要求了。如果延遲比較大,就先確認以下幾個因素:
 1. 網絡延遲
 2. master負載
 3. slave負載
 一般的做法是,使用多臺slave來分攤讀請求,再從這些slave中取一臺專用的服務器,只作爲備份用,不進行其他任何操作,就能相對最大限度地達到'實時'的要求了
 
 另外,再介紹2個可以減少延遲的參數
 
   --slave-net-timeout=seconds
   參數含義:當slave從主數據庫讀取log數據失敗後,等待多久重新建立連接並獲取數據
 {code}
  slave_net_timeout單位爲秒 默認設置爲 3600秒 
 | slave_net_timeout               | 3600  
 {code}
   --master-connect-retry=seconds
 參數含義:當重新建立主從連接時,如果連接建立失敗,間隔多久後重試。
 {code}
    master-connect-retry單位爲秒 默認設置爲 60秒
 {code}
 
 通常配置以上2個參數可以減少網絡問題導致的主從數據同步延遲
 
 一般網絡問題的錯誤是:
 {code}
 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
 {code}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章