MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded
Posted 汤高
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded相关的知识,希望对你有一定的参考价值。
Lock wait timeout exceeded
当一个SQL执行完了,但未COMMIT,后面的SQL想要执行就是被锁,超时结束;
select * from information_schema.innodb_trx 之后找到了一个一直没有提交的只读事务,
kill 到了对应的线程后ok 了。
mysql> 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 |
+--------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+
| F663B | RUNNING | 2016-11-09 10:15:52 | NULL | NULL | 10 | 14310 | NULL | NULL | 0 | 0 | 7 | 1248 | 4 | 3 | 0 | REPEATABLE READ | 1 | 1 | NULL | 0 | 9999 |
+--------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+
1 row in set
mysql> kill 14310 ;
Query OK, 0 rows affected
mysql>
以上是关于MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded
MySQL事务没有提交导致 锁等待Lock wait timeout exceeded异常的处理办法