1、事务未提交
在使用spring test 做单元测试时,debug导致事务没有提交,Lock wait timeout exceeded;
定位到该表,直接navicat 上insert 该表,Lock wait timeout exceeded;
确认是该表的事务没有提交,锁被占用没释放:
select * from information_schema.innodb_trx;
查看到堵塞的线程,kill trx_mysql_thread_id,
2、表级锁被阻塞
同事在查询数据库数据写入到excel时,数据量较大有200万,未能正确分页,导致数据库锁等待卡死;
show processList;
查看到多个线程处于sending data的状态,
kill掉 线程,恢复数据库;
并将存储引擎由MyIsam 改为 INnnoDB,可减少表级锁。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/database/4651.html