暂无图片
某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?
我来答
分享
暂无图片 匿名用户
某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?

某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
张sir

1、编写脚本定时获取processlist、innodb_trx、innodb_lock的内容。

2、查看问题时段的慢日志。

暂无图片 评论
暂无图片 有用 0
chengang

获取超时的历史语句比较简单!

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
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏