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

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

问题描述:

(推荐教程:mysql视频教程

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

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

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

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

问题解决

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

SELECT trx_state, trx_started, trx_MysqL_thread_id, trx_query FROM @R_664_4045@ion_schema.innodb_trx;

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

相关推荐:mysql教程

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...