Mysql 從庫如果有未提交的事務主庫ddl操作導致主從延遲
情況描述:
-
從庫出現延遲,使用select * from information_schema.innodb_trx order by trx_started desc\G; 檢視當前從庫中的事務, 發現有一條1周前的事務未提交記錄。
-
有waiting for table metadata lock 的等待事件,且session 中有一條表結構變更的ddl操作,也是處於waiting for table metadata lock。
-
主從有延遲。
處理過程:
1. 1周前的那條事務記錄時間太長, 覺得有問題, kill 掉,waiting for table metadata lock 等待事件消失,主從延遲追平。
事情處理過後回顧,猜測,未驗證:
從庫如果有未提交的事務,如果主庫中有對未提交事務中的表做ddl 的操作在備庫會有waiting for table metadata lock 等事件,會導致主從延遲。 要麼kill 未提交的事務,要麼kill ddl 操作。
1月26日實驗驗證上面猜測:
主庫,建立表t1:
備庫, 表t1:
備庫4個執行緒:
備庫開啟事務:
主庫對錶t1加一個欄位:
檢視備庫狀態,在生產上一般會話會非常多,此處的12執行緒是從庫的sql_thread ,處於waiting for table metadata lock:
備庫延遲:
備庫上檢視未提交的transaction, 未提交的transaction 執行緒18,kill 掉執行緒18備庫延遲恢復正常。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2853831/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql主從延遲複製MySql
- MySQL 延遲從庫介紹MySql
- MySQL主從資料庫同步延遲問題怎麼解決MySql資料庫
- MySQL主從複製延遲解決方案MySql
- 【mysql】mysql的資料庫主從(一主一從)MySql資料庫
- 主從延遲調優思路
- Mysql配置從庫延遲應用MySql
- mysql的主從複製資料延遲問題MySql
- MYSQL資料庫主從同步(一主一從)MySql資料庫主從同步
- MySQL生產庫主從重新同步操作注意事項薦MySql
- MySQL 5.7主從新增新從庫MySql
- 從庫延遲案例分析
- MySQL主從複製延遲原因及處理思路MySql
- mysql主從同步(4)-Slave延遲狀態監控MySql主從同步
- MySQL:雙主單寫 主庫偶爾出現大量延遲的原因MySql
- MySQL主從延遲解決方法的歸納和總結MySql
- 記一次 MySQL 主從複製延遲的踩坑MySql
- 如何避免MYSQL主從延遲帶來的讀寫問題?MySql
- 【Mysql】mysql主鍵的缺少導致備庫hangMySql
- mysql主鍵的缺少導致備庫hangMySql
- mysql主從資料庫配置MySql資料庫
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- mysql主庫清理資料,從庫保留MySql
- MySQL 從庫日誌比主庫多MySql
- Mysql 主從延時監控MySql
- 影響MySQL主從延遲的幾個因素及解決方法MySql
- 面試官:我們們來聊一聊mysql主從延遲面試MySql
- 在Linux中,mysql 如何減少主從複製延遲?LinuxMySql
- 8、MySQL主從資料庫配置MySql資料庫
- Mysql資料庫主從心得整理MySql資料庫
- 主從複製延遲推薦解決方案
- 資料庫系列:主從延時最佳化資料庫
- 如何基於生產環境mysql 5.6.25主從部署新的mysql從庫操作指南MySql
- Linux實現MySql資料庫的主從複製(一主一從)LinuxMySql資料庫
- MySQL-主從複製之搭建主資料庫MySql資料庫
- MySQL 中主庫跑太快,從庫追不上咋整?MySql
- 主從分離的事務操作很容易發生誤操作
- mysql資料庫的主從複製和主主複製實踐MySql資料庫