暂无图片
MySQL 8.0 如何根据trx_id 找出整个事务的语句
我来答
分享
chengang
2022-07-13
MySQL 8.0 如何根据trx_id 找出整个事务的语句
暂无图片 10M

通过 show engine innodb status 看到有死锁记录

RECORD LOCKS space id 2137 page no 4 n bits 72 index PRIMARY of table test.testb trx id 5952392

请问有没有办法在 performance_schema库中查到
trx id 5952392 的所有语句?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
刘贵宾
show processlist
也可以使用
SELECT * FROM information_schema.INNODB_TRX;
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
chengang
题主
2022-07-13
明显不行啊。已commit或回滚的。这个当中没有吧。 performance_schema.events_statements_history 中能找到语句,但如何关联事务呢?
大大刺猬

没得事务和SQL关联的表,  mysql记录的SQL也只是基本信息, 其中并不含事务/会话相关信息,顶多就第一次执行时间和最后一次执行时间 (应该是节省空间)
一般根据导致死锁的SQL就能找到相关的业务的嘛

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
如何在mysql实现Oracle 的to_number函数?
回答 1
已采纳
mysql 只有简单的cast 转换函数,没有oracle tonumber 这么强大的功能。更强大的功能可以在应用后端实现。
学习openGauss还是MySql?
回答 3
目前oracle、mysql等国外的数据库依然是主流,但未来国产数据库肯定拥有不可小觑的发展,只是这个时间跨度暂无法预测,所以,建议各种数据库都去了解下
MySQL在不知道明文密码的情况下重置密码
回答 3
可以直接更新user表把密码字段authenticationstring更新成当前值。updatemysql.usersetauthenticationstring"58319282EAB9E38D4
MySQL不按主键查询,有必要设置主键吗 ?
回答 2
已采纳
看具体使用场景,如果是使用innodb存储引擎,且用于OLTP,则建议设置主键。
mysql的主流版本是哪个?
回答 1
已采纳
5.7
MySQL先读数据,再业务处理,最后写数据库,这种流程一般都是怎么处理?
回答 1
已采纳
千万不要。只在写的时候加锁。可以在写入前再次加验证
ProxySQL支持一个账号管理多个MySQL实例吗?
回答 1
也不是完全不行,只是会比较复杂,还是建议使用不同用户名比如srvtestmysql001,这样更清晰便于管理。如果实在要配置,需要同时配置这三张表:mysqlusers/mysqlservers/my
MYSQL 大事务运行过程中 REDO LOG 会发生什么?
回答 2
大事务会被拆分为若干个迷你事务(MTR),每个MTR会写入若干个redoblock(512字节)当系统出发刷盘操作(每秒,redobuffer到一半了,其它事务提交了),都会把redobuffer里面
MYSQL 工具: GO 语言开发的 遇到个BUG -ignore-primaryKey-forInsert 添加该参数,不生成SQL文件?
回答 1
代码贴出地址来
MySQL 8.4.5集群架构设计:A、B机房专线同步与自动切换方案、VPN延迟控制要求
回答 1
建议使用mysql的mgr结构,对外提供统一的访问ip和端口,如果A机房故障,会自动进行切换,业务无感知。这个集群至少需要三个节点。专线延迟的话建议控制在50ms以内,最高不能超过200ms。