mysql如何盡量避免主從復制延遲

下文我給大家簡單講講關于MySQL如何盡量避免主從復制延遲,大家之前了解過相關類似主題內容嗎?感興趣的話就一起來看看這篇文章吧,相信看完mysql如何盡量避免主從復制延遲對大家多少有點幫助吧。        

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

如果延遲比較大,就先確認以下幾個因素:

1. 從庫硬件比主庫差,導致復制延遲

2. 主從復制單線程,如果主庫寫并發(fā)太大,來不及傳送到從庫,就會導致延遲。更高版本的mysql可以支持多線程復制

3. 慢SQL語句過多

4. 網絡延遲
5. master負載

主庫讀寫壓力大,導致復制延遲,架構的前端要加buffer及緩存層
6. slave負載

一般的做法是,使用多臺slave來分攤讀請求,再從這些slave中取一臺專用的云服務器,只作為備份用,不進行其他任何操作.

另外, 2個可以減少延遲的參數:

–slave-net-timeout=seconds 單位為秒 默認設置為 3600秒

#參數含義:當slave從主數據庫讀取log數據失敗后,等待多久重新建立連接并獲取數據

–master-connect-retry=seconds 單位為秒 默認設置為 60秒

#參數含義:當重新建立主從連接時,如果連接建立失敗,間隔多久后重試。

通常配置以上2個參數可以減少網絡問題導致的主從數據同步延遲

MySQL數據庫主從同步延遲解決方案

最簡單的減少slave同步延時的方案就是在架構上做優(yōu)化,盡量讓主庫的DDL快速執(zhí)行。還有就是主庫是寫,對數據安全性較高,比如sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之類的設置,而slave則不需要這么高的數據安全,完全可以講sync_binlog設置為0或者關閉binlog,innodb_flushlog也可以設置為0來提高sql的執(zhí)行效率。另外就是使用比主庫更好的硬件設備作為slave。

大家覺得mysql如何盡量避免主從復制延遲這篇文章怎么樣,是否有所收獲。如果想要了解更多相關,可以繼續(xù)關注我們的行業(yè)資訊板塊。

分享題目:mysql如何盡量避免主從復制延遲
本文網址:http://www.muchs.cn/article14/ishige.html

成都網站建設公司_創(chuàng)新互聯,為您提供App開發(fā)、網站改版、全網營銷推廣網站設計公司、服務器托管網站設計

廣告

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

外貿網站建設