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


本文摘自PHP中文网,作者V,侵删。

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

问题描述:

(推荐教程:mysql视频教程)

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

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

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

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

问题解决:

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

1

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

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

相关推荐:mysql教程

以上就是如何解决mysql删除表时锁表问题的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

9种 mysql数据库优化的技巧

分享mysql的自动化安装部署的方法

mysql权限及安全管理

示例mysql事务隔离级别以及脏读、幻读、不可重复读

mysql】information_schema库中包含所有表的字段信息

mysql workbench怎么用

浅谈mysql存储引擎选择 innodb与myisam的优缺点分析

mysql数据库难学吗?

mysql中的join操作实例分享

mysql多表连接查询操作实例

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...