mysql主從延遲問題小結

jopen 10年前發布 | 7K 次閱讀 MySQL 數據庫服務器

最近碰到幾次主從延時的問題,也有同行在抱怨這個,稍微整理一下
出現問題的兩個場景:
場景1.主庫進行alter操作,花費大約10min,從庫復現這個alter的時候,也花費了約10min的時間,期間延時不斷在增加;
場景2.主庫上對一張MyISAM的表有大量的增刪改操作,從庫的業務語句在操作這張表經常會遇到表鎖,導致從庫延時;

場景問題分析:
場景1:其實這個場景很簡單,這種需要花費很多時間的alter語句,在主庫花費這么久,在從庫復現必然也是要花費很多時間的,自然會阻塞之后的同步;
場景2:
首先要確認MyISAM的特性,MyISAM的表是表級別的鎖,讀寫互斥
當同步的SQL線程在增刪改數據的時候,如果有select語句在操作這個表,是會產生表級鎖,阻塞同步的SQL線程,
簡單模擬以下表級鎖阻塞從庫SQL線程的情況
mysql主從延遲問題小結 - Foundation的個人頁面

MyISAM的表遇到這種情況其實和情景1是一種類型的,那就是主庫上的操作在從庫復現的時候很慢/被阻塞,出現問題的地方都是復現的SQL本身
這種類型的問題,基本只能把這些“問題SQL”放在空閑時段去操作,屬于DBA的操作規范一類了,
如果是正常時間段出現了這種情況,可以考慮單獨分離某一臺延時的從庫,屏蔽業務請求,等延時消除以后,再添加回去,再替換另外有延時的從庫,依次去追主庫了;

主從延時還存在一種類型,就是從庫的同步卡在寫binlog這一部分,典型的表現就是從庫的系統IO等待很高,這種情況,視業務類型去修改事務組和日志刷新策略的值,或者更換存儲,提高硬件能力~

mysql在Linux系統下使用也是非常頻繁的,如果想深入體驗LINUX系統的新手,也可以先下載一個方德Linux軟件中心試用一下。

免費下載地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter

本文轉自http://www.21ops.com/ops/37572.html

 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!