国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

MySQL 行鎖超時排查方法優化

數據庫 MySQL
之前在 [如何有效排查解決 MySQL 行鎖等待超時問題] 文章中介紹了如何監控解決行鎖超時報錯,當時介紹的監控方案主要是以 shell 腳本 + general_log 來捕獲行鎖等待信息,后來感覺比較麻煩,因此優化后改成用 Event + Procedure 的方法定時在 MySQl 內執行。

 [[383006]]

一、大綱

 

  1. #### 20191219 10:10:10,234 | com.alibaba.druid.filter.logging.Log4jFilter.statementLogError(Log4jFilter.java:152) | ERROR |  {conn-10593, pstmt-38675} execute error. update xxx set xxx = ? , xxx = ?  where RowGuid = ? 
  2. com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction 

 

之前在 [如何有效排查解決 MySQL 行鎖等待超時問題] 文章中介紹了如何監控解決行鎖超時報錯,當時介紹的監控方案主要是以 shell 腳本 + general_log 來捕獲行鎖等待信息,后來感覺比較麻煩,因此優化后改成用 Event + Procedure 的方法定時在 MySQl 內執行,將行鎖等待信息記錄到日志表中,并且加入了 pfs 表中的事務上下文信息,這樣可以省去登陸服務器執行腳本與分析 general_log 的過程,更加便捷。

因為用到了 Event 和 performance_schema 下的系統表,所以需要打開兩者的配置,pfs 使用默認監控項就可以,這里主要使用到的是 events_statements_history 表,默認會保留會話 10 條 SQL。

 

  1. performance_schema = on 
  2. event_scheduler = 1  

 

二、步驟

目前該方法僅在 MySQL 5.7 版本使用過,MySQL 8.0 未測試。

 

  1. create database `innodb_monitor`; 

create database `innodb_monitor`;

2.2 創建存儲過程

 

  1. use innodb_monitor; 
  2. delimiter ;; 
  3. CREATE PROCEDURE pro_innodb_lock_wait_check() 
  4. BEGIN 
  5.  declare wait_rows int
  6.   
  7. set group_concat_max_len = 1024000; 
  8.  
  9. CREATE TABLE IF NOT EXISTS `innodb_lock_wait_log` ( 
  10.   `report_time` datetime DEFAULT NULL
  11.   `waiting_id` int(11) DEFAULT NULL
  12.   `blocking_id` int(11) DEFAULT NULL
  13.   `duration` varchar(50) DEFAULT NULL,   
  14.   `state` varchar(50) DEFAULT NULL
  15.   `waiting_query` longtext DEFAULT NULL
  16.   `blocking_current_query` longtext DEFAULT NULL
  17.   `blocking_thd_last_query` longtext, 
  18.   `thread_id` int(11) DEFAULT NULL 
  19. ); 
  20.  
  21.  select count(*) into wait_rows from information_schema.innodb_lock_waits ; 
  22.  
  23.  if wait_rows > 0 THEN  
  24.    insert into `innodb_lock_wait_log`  SELECT now(),r.trx_mysql_thread_id waiting_id,b.trx_mysql_thread_id blocking_id,concat(timestampdiff(SECOND,r.trx_wait_started,CURRENT_TIMESTAMP()),'s'AS duration, 
  25.      t.processlist_command state,r.trx_query waiting_query,b.trx_query blocking_current_query,group_concat(left(h.sql_text,10000) order by h.TIMER_START DESC SEPARATOR ';\n'As blocking_thd_query_history,thread_id 
  26.     FROM information_schema.innodb_lock_waits w JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id 
  27.      LEFT JOIN performance_schema.threads t on t.processlist_id = b.trx_mysql_thread_id LEFT JOIN performance_schema.events_statements_history h USING(thread_id) group by thread_id,r.trx_id order by r.trx_wait_started; 
  28.   
  29.  end if; 
  30. END 
  31. ;; 

 

2.3 創建事件

事件 每隔 5 秒 (通常等于 innodb_lock_wait_timeout 的值)執行一次,持續監控 7 天,結束后會自動刪除事件,也可以自定義保留時長。

  1. use innodb_monitor; 
  2. delimiter ;; 
  3. CREATE EVENT `event_innodb_lock_wait_check` 
  4. ON SCHEDULE EVERY 5 SECOND  
  5.  STARTS CURRENT_TIMESTAMP  
  6.  ENDS CURRENT_TIMESTAMP + INTERVAL 7 DAY 
  7. ON COMPLETION NOT PRESERVE 
  8. ENABLE 
  9. DO 
  10. call pro_innodb_lock_wait_check(); 
  11. ;; 

 

2.4 事件啟停

 

  1. --1為全局開啟事件,0為全局關閉 
  2. mysql > SET GLOBAL event_scheduler = 1; 
  3.  
  4. --臨時關閉事件 
  5. mysql > ALTER EVENT event_innodb_lock_wait_check DISABLE; 
  6.  
  7. --關閉開啟事件 
  8. mysql > ALTER EVENT event_innodb_lock_wait_check  ENABLE; 

 

三、日志表

再根據應用日志報錯時間點及 SQL 分析 innodb_lock_wait_log 表。其中主要有 2 種場景:

  1. blocking_current_query 不為空,說明阻塞事務處于運行狀態,這時候需要分析當前運行 SQL 是否存在性能問題。
  2. blocking_current_query 為空,state 為 Sleep,此時阻塞事務處于掛起狀態,即不再運行 SQL,此時需要通過分析 blocking_thd_last_query 分析事務上下文,注意該列中的 SQL 為時間降序,即從下往上執行。

 

技術分享 | MySQL 行鎖超時排查方法優化

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2020-04-23 11:43:55

MySQL數據庫SQL

2025-11-10 08:41:06

2024-11-29 07:38:12

MySQL數據庫

2025-02-10 09:58:48

2020-10-20 13:50:47

MySQL數據庫

2010-05-24 12:50:59

MySQL表級鎖

2024-03-04 00:01:00

鎖表鎖行MySQL

2010-05-24 11:26:27

MySQL鎖

2025-06-04 02:55:00

MySQL意向鎖記錄鎖

2022-07-20 08:06:57

MySQL表鎖Innodb

2024-05-13 12:44:00

InnodbMySQL行級鎖

2023-01-02 08:20:14

MySQL數據庫

2018-07-31 10:10:06

MySQLInnoDB死鎖

2010-05-31 17:45:50

MySQL行鎖

2022-10-24 00:33:59

MySQL全局鎖行級鎖

2010-11-22 14:42:13

MySQL行級鎖

2010-10-14 09:15:20

MySQL查詢

2023-11-06 08:35:08

表鎖行鎖間隙鎖

2022-01-09 17:38:32

goHttpClient 集群

2024-12-18 07:40:50

MySQL機制
點贊
收藏

51CTO技術棧公眾號

91性高湖久久久久久久久_久久99| 色综合久久影院| av中文字幕在线| 精品视频亚洲| 亚洲成人资源网| 456亚洲影院| 青草全福视在线| 视频三区在线| 亚洲视频精品| 99热在这里有精品免费| 成人av第一页| 亚洲成人教育av| 91av网站在线播放| 成人性生交免费看| 影音成人av| 久久97超碰色| 日韩一区二区三区四区| 熟妇人妻va精品中文字幕| 国产精品亚洲综合久久| 国产精品视频一| jizzyou欧美16| 国产成人免费视频精品含羞草妖精 | 亚洲美女久久久| 欧美精品一区二区三区蜜桃| 美媛馆国产精品一区二区| 艹b视频在线观看| 成人免费在线观看视频| 成人h动漫精品| 精品伦理一区二区三区 | 亚洲午夜在线观看视频在线| 你懂得网站在线| 亚洲综合色视频| 国产精品国产三级国产专播精品人| 91视频最新入口| 日韩极品在线| 久久亚洲综合色一区二区三区| 国产精品久久av| 国产一区二区三区小说| 日韩中文视频| 国产亚洲短视频| 国产一区二区中文字幕免费看| 先锋av资源在线| 亚洲综合激情小说| 欧美日韩尤物久久| 色综合伊人色综合网| 日韩欧美亚洲系列| 久久精品在线观看| 日韩欧美激情一区二区| 日本综合久久| 国产精品久久精品日日| 精品毛片久久久久久| 欧美久久天堂| 激情综合色丁香一区二区| www.日韩欧美| 日本成年免费网站| 久久99精品久久久久久| 国产午夜精品久久久| 欧美日韩亚洲一| 亚洲一区激情| 欧美一级日本a级v片| 亚洲已满18点击进入久久| 高清免费电影在线观看| 夜夜精品浪潮av一区二区三区| 成人在线免费观看网址| 日韩影院在线观看| 亚洲精蜜桃久在线| 不卡日本视频| 国产精品嫩草视频| 在线精品国产亚洲| 亚洲欧洲一区二区三区久久| 高清av免费看| 久久奇米777| 特级西西444www大精品视频| 伊人精品成人久久综合软件| 日韩一区在线视频| 免费av片风间由美在线| 国产成人免费av在线| 超碰高清在线| 91九色偷拍| 亚洲天堂2014| 岛国成人毛片| 日韩一区二区影院| 黄视频网站在线看| 欧美精品一区二区三区蜜臀| 超碰在线中文字幕| 亚洲欧洲av另类| 人人九九精品| 精品色蜜蜜精品视频在线观看| 四虎黄色影院| 亚洲视频免费在线观看| 嫩草影院在线观看网站成人| 另类综合日韩欧美亚洲| 最美情侣韩剧在线播放| 久久99国产精品久久久久久久久| 成人国产免费电影| 日韩欧美一区在线观看| 岛国av一区| 亚洲欧美精品suv| 欧美人与动牲性行为| 国产一区二区三区视频在线观看 | 一本色道久久| 欧美精品一区二区三区免费播放| 国产欧美一区二区三区网站| 日本中文字幕在线看| 欧美成人一区二区三区| 国产精品久久久久久吹潮| 中文字幕日韩精品无码内射| 欧美性猛交xxxx乱大交蜜桃| 国模大尺度视频一区二区| 免费的一级黄色片| 久久av在线看| 欧美高清视频一二三区 | 中文字幕免费在线观看视频一区| 精品一区二区中文字幕| 精品国产乱码久久久久久天美| 在线观看视频一区二区三区| 亚洲伊人久久大香线蕉av| 日产精品一区二区| 亚洲国产欧美日韩| 国产精品美女久久久久久久久久久| 精品资源在线看| 日韩av最新在线观看| 欧美男gay| www.4438全国最大| 久久久精品2019中文字幕神马| 天堂在线精品| 性生大片免费观看性| 久久精品视频在线| 国产成人在线看| 成人在线电影网| 亚洲欧洲中文天堂| 99国产精品国产精品久久| 国产精品一区二区三区四区在线观看 | 国产伦精品一区二区三区视频黑人| 97se狠狠狠综合亚洲狠狠| 国产福利在线看| 日韩大陆欧美高清视频区| 日韩制服丝袜av| 日本三区在线观看| 日韩精品免费视频| 亚洲综合小说| 大地资源第二页在线观看高清版| 亚洲欧洲一二三| 日韩成人av在线播放| 亚洲成人av资源网| 欧美欧美欧美欧美首页| 韩国三级在线一区| 女同久久另类99精品国产| 97caopron在线视频| 欧美日韩福利在线| 国产免费一区| 精品国产乱码久久久久久1区2区| 99热精品在线观看| 亚洲一区二区三区四区电影| 欧美v在线观看| 欧洲午夜精品久久久| 欧美性猛交xxxxx免费看| 欧美日韩综合| 精精国产xxx在线视频app| 久久影视中文粉嫩av| 精品久久五月天| 久久网站免费观看| 亚洲精品白浆| 黄色www网站| 国产免费一区二区三区在线能观看 | 在线观看的毛片| 男人的天堂www| 7878视频在线观看| 一区精品在线| 国产精品96久久久久久| 欧美激情va永久在线播放| 欧美精品一区二区三区在线| 99久久国产综合色|国产精品| 国产精品色婷婷在线观看| 99在线精品免费视频| 99在线观看| 亚洲性日韩精品一区二区| 伊人色综合久久天天人手人婷| 成人羞羞网站入口| 毛片在线播放网址| 日韩欧美亚洲日产国| 国产美女久久精品| 亚洲一区二区中文字幕| 欧美极品色图| 国产91久久久久蜜臀青青天草二 | 欧美主播一区二区三区美女 久久精品人 | 成人黄网大全在线观看| 欧美亚洲一级片| 中文字幕不卡在线视频极品| 欧美电影一区二区| 亚洲欧美怡红院| 要久久电视剧全集免费| 日韩福利视频一区| 自拍偷拍亚洲视频| 亚洲精品无码专区在线播放| 一本大道香蕉8中文在线视频| 五月婷婷狠狠操| 久久av秘一区二区三区| 欧美日韩性生活片| 在线免费看黄av|