innodb 死锁分析之相关表结构说明

表INNODB_TRX的结构说明

字段名 说明
trx_id InnoDB存储引擎内部唯一的事务ID
trx_state 当前事务的状态
trx_started 事务的开始时间
trx_requested_lock_id

等待事务的锁ID,如trx_state的状态为LOCK WAIT,那么该值代表当前的事务等待之前事务

占用锁资源的ID。若trx_state不是LOCK WAIT, 则该值为NULL

trx_wait_started  事务等待开始的时间
trx_weight

事务的权重,反映了一个事务修改和锁定的行数。在InnoDB存储引擎中,当发生死锁需要回滚时,

InnoDB存储引擎会选择该值最小的进行回滚 

trx_mysql_thread_id MySQL中的线程ID,SHOW PROCESSLIST 显示的结果 
trx_query 事务运行的语句 

表INNODB_LOCKS的结构

字段名 说明
lock_id 锁的ID
lock_trx_id 事务ID
lock_mode 锁的模式
lock_type 锁的类型,表锁还是行锁
lock_table 要加锁的表
lock_index 锁住的索引
lock_space 锁对象的space id
lock_page 事务锁定页的数量。若是表锁,则该值为NULL
lock_rec 事务锁定行的数量。若是表锁,则该值为NULL
lock_data 事务锁定记录的主键值,若是表锁,则该值为NULL

 表INNODB_LOCK_WAITS的结构

字段名 说明
requesting_trx_id 申请锁资源的事务ID
requesting_lock_id 申请的锁的ID
blocking_trx_id 阻塞的事务ID
blocking_lock_id 阻塞的锁的ID
原文地址:https://www.cnblogs.com/Shock-W/p/9350276.html