如何解决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删除表时锁表问题的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

分析mysql表读写、索引等操作的sql语句效率优化问题

php程序mysql报错mysql has gone away

mysql怎么使用sum()求id字段的和?

新手学习mysql索引

怎么使用cmd启动mysql服务?

mysql数据库操作性能优化方式汇总

navicat for mysql怎么监控服务器

hive和mysql的区别是什么

你们要的mycat实现mysql分库分表来了

mysql dml语句整理汇总

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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