匿名用户某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?
某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?
1、编写脚本定时获取processlist、innodb_trx、innodb_lock的内容。
2、查看问题时段的慢日志。
评论
有用 0获取超时的历史语句比较简单!
1、开启performance_schema的events_statements开关
UPDATE performance_schema.setup_consumers
SET ENABLED = ‘YES’
WHERE NAME LIKE ‘events_statements%’;
2、查看历史语句
select * from PERFORMANCE_SCHEMA.events_statements_history_long
timer_wait > 你的innodb_lock_wait_timeout值 or message_text like ‘%Lock wait timeout exceeded%’
注意的是你要把 innodb_lock_wait_timeout换算成皮秒。
评论
有用 1
墨值悬赏