mysql Lock wait timeout exceeded; try restarting transaction

update 数据库中的一条数据,一直失败报这个错误

update执行后执行 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

+----------------------+-------------+-----------+-----------+--------------------+------------+------------+-----------+----------+-----------+
| lock_id              | lock_trx_id | lock_mode | lock_type | lock_table         | lock_index | lock_space | lock_page | lock_rec | lock_data |
+----------------------+-------------+-----------+-----------+--------------------+------------+------------+-----------+----------+-----------+
| 27216515D:0:240256:3 | 27216515D   | X         | RECORD    | `xxxxxxx` | `PRIMARY`  |          0 |    240256 |        3 | 2         |
| 27216502F:0:240256:3 | 27216502F   | X         | RECORD    | `xxxxxxx` | `PRIMARY`  |          0 |    240256 |        3 | 2         |
+----------------------+-------------+-----------+-----------+--------------------+------------+------------+-----------+----------+-----------+

执行SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 

+-------------------+----------------------+-----------------+----------------------+
| requesting_trx_id | requested_lock_id    | blocking_trx_id | blocking_lock_id     |
+-------------------+----------------------+-----------------+----------------------+
| 27216515D         | 27216515D:0:240256:3 | 27216502F       | 27216502F:0:240256:3 |
+-------------------+----------------------+-----------------+----------------------+

27216515D 是执行update产生的,同时一个27216502F 应该是早先一步拿到了锁没释放

执行 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

+-----------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+
| trx_id    | trx_state | trx_started         | trx_requested_lock_id | trx_wait_started | trx_weight | trx_mysql_thread_id | trx_query | trx_operation_state | trx_tables_in_use | trx_tables_locked | trx_lock_structs | trx_lock_memory_bytes | trx_rows_locked | trx_rows_modified | trx_concurrency_tickets | trx_isolation_level | trx_unique_checks | trx_foreign_key_checks | trx_last_foreign_key_error | trx_adaptive_hash_latched | trx_adaptive_hash_timeout |
+-----------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+
| 27216502F | RUNNING   | 2016-09-09 12:26:19 | NULL                  | NULL             |         11 |                3192 | NULL      | NULL                |                 0 |                 0 |                9 |                  1024 |              56 |                 2 |                       0 | REPEATABLE READ     |                 1 |                      1 | NULL                       |                         0 |                     10000 |
+-----------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+

看到这个事物一直存在,已经两个小时了,好吧,不知道咋来的,先kill掉,在此执行就ok了
附带 SHOW ENGINE INNODB STATUS;能看到事物的更详细的信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值