Mysql 從庫如果有未提交的事務主庫ddl操作導致主從延遲

kakaxi9521 發表於 2022-01-24
MySQL

情況描述:

  1. 從庫出現延遲,使用select * from information_schema.innodb_trx order by trx_started desc\G;  檢視當前從庫中的事務, 發現有一條1周前的事務未提交記錄。

  2. 有waiting for table metadata lock 的等待事件,且session 中有一條表結構變更的ddl操作,也是處於waiting for table metadata lock。

  3. 主從有延遲。


處理過程:

     1.  1周前的那條事務記錄時間太長, 覺得有問題, kill 掉,waiting for table metadata lock 等待事件消失,主從延遲追平。


事情處理過後回顧,猜測,未驗證:

    從庫如果有未提交的事務,如果主庫中有對未提交事務中的表做ddl 的操作在備庫會有waiting for table metadata lock 等事件,會導致主從延遲。 要麼kill 未提交的事務,要麼kill ddl 操作。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2853831/,如需轉載,請註明出處,否則將追究法律責任。