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 5.7主從新增新從庫MySql
- 從庫延遲案例分析
- MySQL:雙主單寫 主庫偶爾出現大量延遲的原因MySql
- MySQL主從複製延遲原因及處理思路MySql
- mysql主從資料庫配置MySql資料庫
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- 如何避免MYSQL主從延遲帶來的讀寫問題?MySql
- 在Linux中,mysql 如何減少主從複製延遲?LinuxMySql
- 8、MySQL主從資料庫配置MySql資料庫
- Linux實現MySql資料庫的主從複製(一主一從)LinuxMySql資料庫
- 如何基於生產環境mysql 5.6.25主從部署新的mysql從庫操作指南MySql
- MySQL 中主庫跑太快,從庫追不上咋整?MySql
- 資料庫系列:主從延時最佳化資料庫
- MySQL-主從複製之搭建主資料庫MySql資料庫
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- 案例:DG主庫未設定force logging導致備庫壞塊
- mysql主從庫執行計劃不同MySql
- Mysql(Mariadb)資料庫主從複製MySql資料庫
- 面試官:我們們來聊一聊mysql主從延遲面試MySql
- 主從複製延遲推薦解決方案
- MySQL-主從複製之搭建從資料庫MySql資料庫
- Binlog多大導致主從中斷
- 主從分離的事務操作很容易發生誤操作
- MySQL常用操作和主從配置MySql
- mysql資料庫實現主從複製MySql資料庫
- MacOS使用Docker建立MySQL主從資料庫MacDockerMySql資料庫
- 故障分析 | MySQL 異地從庫複製延遲案例一則MySql
- Jtti:redis主從延遲資料不一致問題如何解決JttiRedis
- mysql的主從複製延遲問題--看這一篇就夠了MySql
- MySQL主從同步(一主一從、一主多從、主從從)等結構的概述與配置MySql主從同步
- 如何解決 MySQL 主從延時問題?MySql
- mysql資料庫互為主從配置方法分享MySql資料庫