Mysql删除表时锁表
- 背景: mysql删除innodb表时, 出现锁表情况, 导致表无法drop
如果直接kill掉正在drop表的线程id, 不能根本解决问题, 表还是drop不掉
所以, 通过如下语句查询是否有正在执行的事务, 如果有未提交的事务, 可以考虑kill事务
或等待事务提交.
select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx;
如果直接kill掉正在drop表的线程id, 不能根本解决问题, 表还是drop不掉
所以, 通过如下语句查询是否有正在执行的事务, 如果有未提交的事务, 可以考虑kill事务
或等待事务提交.
select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx;