zz 通过INFORMATION_SCHEMA.INNODB_TRX、INNODB_LOCKS、INNODB_LOCK_WAITS 三个表获取事务与锁的信息
2015-07-29 11:32
281 查看
zz from http://imysql.com/2015/03/25/mysql-faq-how-to-fetch-latest-trxid.shtml
#先查询 INNODB_TRX 表,看看都有哪些事务
#再看 INNODB_LOCKS 表,看看都有什么锁
#最后看 INNODB_LOCK_WAITS 表,看看当前都有哪些锁等待
关于INFORMATION_SCHEMA中和InnoDB有关的表用途描述,可以查看手册:21.29 INFORMATION_SCHEMA Tables for InnoDB
#先查询 INNODB_TRX 表,看看都有哪些事务
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX\G *************************** 1. row *************************** trx_id: 17778 -- 当前事务ID trx_state: LOCK WAIT -- 处于锁等待状态,也就是等待其他会话释放锁资源 trx_started: 2015-03-04 10:40:26 trx_requested_lock_id: 17778:82:3:6 -- 欲请求的锁 trx_wait_started: 2015-03-04 10:40:26 trx_weight: 2 -- 大意是该锁影响了2行记录 trx_mysql_thread_id: 657 -- processlist中的线程ID trx_query: update trx_fee set fee=rand()*1000 where id= 4 trx_operation_state: starting index read trx_tables_in_use: 1 trx_tables_locked: 1 trx_lock_structs: 2 trx_lock_memory_bytes: 360 trx_rows_locked: 1 trx_rows_modified: 0 trx_concurrency_tickets: 0 trx_isolation_level: REPEATABLE READ trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 10000 trx_is_read_only: 0 trx_autocommit_non_locking: 0 *************************** 2. row *************************** trx_id: 17773 trx_state: RUNNING trx_started: 2015-03-04 10:40:23 trx_requested_lock_id: NULL trx_wait_started: NULL trx_weight: 10 trx_mysql_thread_id: 656 trx_query: NULL trx_operation_state: NULL trx_tables_in_use: 0 trx_tables_locked: 0 trx_lock_structs: 2 trx_lock_memory_bytes: 360 trx_rows_locked: 9 trx_rows_modified: 8 trx_concurrency_tickets: 0 trx_isolation_level: REPEATABLE READ trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 10000 trx_is_read_only: 0 trx_autocommit_non_locking: 0
#再看 INNODB_LOCKS 表,看看都有什么锁
mysql> select * from information_schema.INNODB_LOCKS\G *************************** 1. row *************************** lock_id: 17778:82:3:6 --当前锁ID lock_trx_id: 17778 --该锁对应的事务ID lock_mode: X -- 锁类型,排它锁X lock_type: RECORD --锁范围,记录锁:record lock,其他锁范围:间隙锁:gap lock,或者next-key lock(记录锁+间隙锁) lock_table: `test`.`trx_fee` lock_index: PRIMARY --加载在哪个索引上的锁 lock_space: 82 lock_page: 3 lock_rec: 6 lock_data: 4 *************************** 2. row *************************** lock_id: 17773:82:3:6 lock_trx_id: 17773 lock_mode: X lock_type: RECORD lock_table: `test`.`trx_fee` lock_index: PRIMARY lock_space: 82 lock_page: 3 lock_rec: 6 lock_data: 4
#最后看 INNODB_LOCK_WAITS 表,看看当前都有哪些锁等待
mysql> select * from information_schema.INNODB_LOCK_WAITS\G *************************** 1. row *************************** requesting_trx_id: 17778 --请求锁的事务ID(等待方) requested_lock_id: 17778:82:3:6 -- 请求锁ID blocking_trx_id: 17773 -- 阻塞该锁的事务ID(当前持有方,待释放) blocking_lock_id: 17773:82:3:6 -- 持有的锁ID
关于INFORMATION_SCHEMA中和InnoDB有关的表用途描述,可以查看手册:21.29 INFORMATION_SCHEMA Tables for InnoDB
相关文章推荐
- 2015 Multi-University Training 3 多校集训 第三场 部分题解及反思
- [模拟] 多校联合第三场 painter HDU 5319
- 2015 Multi-University Training Contest 3 1004
- hdu5319(2015多校3)--Painter(暴力,,,)
- async & await 的前世今生(Updated)
- hdu 5319 Painter 2015 Multi-University Training Contest 3
- SVN svnserve.conf: Option expected 的解决方法 以及 Authorization failed 的解决方法
- HDU-1867-A + B for you again
- 关于出现( linker command failed with exit code 1)错误总结
- 2015 Multi-University Training Contest 3 1002 RGCDQ(hdu5317)
- ZOJ 3450 Doraemon's Railgun (DP·分组背包)
- C++使用localtime函数需要注意的地方http://blog.csdn.net/shellching/article/details/8114266
- zoj 3450Doraemon's Railgun
- HDU 5326 Work 并查集 (2015 Multi-University Training Contest 3 2015多校联合)
- HDU 5319 Painter (2015 Multi-University Training Contest 3 2015多校联合)
- STL中的模板类pair 和map http://blog.csdn.net/calvin_zcx/article/details/6072286
- hdu 5317 RGCDQ 2015 Multi-University Training Contest 3
- 线程安全C/C++ http://blog.csdn.net/huangxy10/article/details/8068653
- mysql_num_rows()的作用的功能!!! http://zhidao.baidu.com/link?url=E-LmBdz-E5ff5PKfiXucFY-wWBLV4_vt6Cmg2i4k
- 模拟+思维 HDOJ 5319 Painter