首页  >  文章  >  数据库  >  如何解决mysql删除表时锁表问题

如何解决mysql删除表时锁表问题

王林
王林原创
2020-10-16 11:07:345096浏览

解决mysql删除表时锁表问题的方法:首先查询是否有正在执行的事务,如果有未提交的事务,则kill事务或等待事务提交;然后重新执行删除表操作即可。

如何解决mysql删除表时锁表问题

问题描述:

(推荐教程:mysql视频教程

1、drop table 的时候导致表被锁,一直再等待。

2、SHOW FULL PROCESSLIST ; 能找到等待中的进程。

3、kill 相应的锁之后,查询不受影响。

4、再次删除这个表又出现锁表。

问题解决:

通过如下语句查询是否有正在执行的事务, 如果有未提交的事务, 可以考虑kill事务或等待事务提交。

SELECT trx_state, trx_started, trx_mysql_thread_id, trx_query FROM information_schema.innodb_trx;

查询到一个正在执行的事务,kill掉之后执行删除表操作正常。

相关推荐:mysql教程

以上是如何解决mysql删除表时锁表问题的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn