缘起
2017 年 11 月 7 日,用户系统升级后出现的宕机。查看日志,发现有一个更新的 sql 语句一直在打印(我在维护老项目,有两个定时任务一直在跑,这两个任务其实早没用了),导致查询时出错。当时知道是事务锁的原因,但不能确定是哪个 sql 语句导致的。没办法,只能回退之前的版本。第二天过来,发现又宕掉了。最后,请教公司前辈,才知道 mysql 自带的 information_schema
库中有 innodb_trx
表可以查看当前正在执行的事务。
information_schema 是什么,有什么用
INFORMATION_SCHEMA
provides access to database metadata, information about the MySQL server such as the name of a database or table, the data type of a column, or access privileges. Other terms that are sometimes used for this information are data dictionary and system catalog.
点我看详情
几个事务表
- 查询正在执行的事务
SELECT * FROM INNODB_TRX;
- 查询正在锁的事务
SELECT * FROM INNODB_LOCKS;
- 查询等待锁的事务
SELECT * FROM INNODB_LOCK_WAITS;
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于