MySQL主從延遲解決方法的歸納和總結
MySQL主從延遲情況共分為以下四類
一.MIXED模式無索引或SQL慢
在從庫上
pager grep -v Sleep;show processlist 檢視到正在執行的SQL
解決方法:
1.SQL比較簡單,則檢查否缺少索引,並新增索引。例如update操作where條件無索引。
2.SQL比較複雜,例如insert into select from語句,如果select裡包含group by,多表關聯,可能效率會比較低。這類可以到主庫把binlog_format改為row.
二.主庫上有大事務,導致從庫延時
解決方法:
找開發人員溝通,增加快取,非同步寫入資料庫,減少對DB的大量寫入。
三.主庫寫入頻繁,從庫壓力跟不上主庫導致延時
此類原因的主要現象是資料庫的IUD(增改刪)操作非常多,slave由於sql_thread單執行緒的原因追不上主庫的寫操作。
解決方法:
1.升級主庫的硬體配置,比如ssd、fio
2.設定日誌重新整理頻率:
set global_sync_binlog=0;
四.資料庫中存在大量myisam表,在備份的時候導致從庫延遲
由於xtrabackup工具備份到最後會執行flush tables with read lock,對資料庫進行鎖表以便進行一致性備份,然後對於myisam表鎖,會阻礙slave sql_thread執行緒停滯執行而導致hang。
該問題目前比較好的解決方法是修改表結構為innod儲存引擎的表。
一.MIXED模式無索引或SQL慢
在從庫上
pager grep -v Sleep;show processlist 檢視到正在執行的SQL
解決方法:
1.SQL比較簡單,則檢查否缺少索引,並新增索引。例如update操作where條件無索引。
2.SQL比較複雜,例如insert into select from語句,如果select裡包含group by,多表關聯,可能效率會比較低。這類可以到主庫把binlog_format改為row.
二.主庫上有大事務,導致從庫延時
解決方法:
找開發人員溝通,增加快取,非同步寫入資料庫,減少對DB的大量寫入。
三.主庫寫入頻繁,從庫壓力跟不上主庫導致延時
此類原因的主要現象是資料庫的IUD(增改刪)操作非常多,slave由於sql_thread單執行緒的原因追不上主庫的寫操作。
解決方法:
1.升級主庫的硬體配置,比如ssd、fio
2.設定日誌重新整理頻率:
set global_sync_binlog=0;
- innodb_flush_log_at_trx_commit=0每秒將log_buffer的內容重新整理到logfile,並且將日誌同步重新整理到磁碟。該模式下,在事務提交的時候,不會主動觸發寫入磁碟的操作。
- innodb_flush_log_at_trx_commit=1每次commit將log_buffer重新整理到logfile,並且將日誌同步重新整理到磁碟。
- innodb_flush_log_at_trx_commit=2每次commit將log_buffer重新整理到logfile,但是flush(刷到磁碟)操作並不會同時進行,每秒將日誌重新整理到磁碟。
四.資料庫中存在大量myisam表,在備份的時候導致從庫延遲
由於xtrabackup工具備份到最後會執行flush tables with read lock,對資料庫進行鎖表以便進行一致性備份,然後對於myisam表鎖,會阻礙slave sql_thread執行緒停滯執行而導致hang。
該問題目前比較好的解決方法是修改表結構為innod儲存引擎的表。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2128217/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL主從複製延遲解決方案MySql
- mysql主從延遲複製MySql
- MySQL主從資料庫同步延遲問題怎麼解決MySql資料庫
- 主從複製延遲推薦解決方案
- 【MySQL】六、常見slave 延遲原因以及解決方法MySql
- 主從延遲調優思路
- MySQL主從複製延遲原因及處理思路MySql
- 如何避免MYSQL主從延遲帶來的讀寫問題?MySql
- 在Linux中,mysql 如何減少主從複製延遲?LinuxMySql
- MySQL 延遲從庫介紹MySql
- mysql同步(複製)延遲的原因及解決方案MySql
- Mysql 從庫如果有未提交的事務主庫ddl操作導致主從延遲MySql
- 如何解決 MySQL 主從延時問題?MySql
- Mysql 非同步複製延遲的原因及解決方案MySql非同步
- jQuery學習總結歸納jQuery
- 第28節 從庫Seconds_Behind_Master延遲總結AST
- 面試官:我們們來聊一聊mysql主從延遲面試MySql
- 直播短影片原始碼,延遲任務的解決方法原始碼
- mysql的主從複製延遲問題--看這一篇就夠了MySql
- 這套方法論,徹底終結MySQL同步延遲問題MySql
- MHA工具的優缺點歸納總結
- MySQL之 從複製延遲問題排查MySql
- 從Mysql slave system lock延遲說開去MySql
- MySQL:雙主單寫 主庫偶爾出現大量延遲的原因MySql
- HTTP 請求延遲解決方案HTTP
- 《RabbitMQ》| 解決訊息延遲和堆積問題MQ
- 延遲繫結
- Laravel-admin 問題歸納總結Laravel
- HTTP標頭學習總結歸納HTTP
- Vue 路由知識點歸納總結Vue路由
- Mysql 主從延時監控(pt-heartbeat)詳解MySql
- 《MySQL主從不一致情形與解決方法》MySql
- MySQL主從不一致情形與解決方法MySql
- MySQL5.6升級5.7時,出現主從延遲問題排查過程MySql
- MySQL 主從複製,常見的binlog錯誤及解決方法MySql
- 解決MySQL的主從資料庫沒有同步的兩種方法MySql資料庫
- mysql之 誤用SECONDS_BEHIND_MASTER衡量MYSQL主備的延遲時間MySqlAST
- 物件導向知識點總結歸納物件
- 歸納從檔案中讀取資料的六種方法-JAVA IO基礎總結第2篇Java