Navicat 卡住一直在执行中解决办法

在使用Navicat操作数据库时遇到表锁死的情况,表现为修改或删除表持续执行。这可能是由于元数据锁导致的。通过SHOWPROCESSLIST检查到State为Waitingfortablemetadatalock的进程,可以使用KILL命令结合进程ID结束该进程以解锁。如果因长时间未完成的事务持有元数据锁,可在information_schema.innodb_trx中找到并结束相关进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,解决蚌埠住了

在使用navicat数据库的时候,操作数据库的一个表,修改表的字段然后保存,发现一直在保存中。尝试删除表,也一直在删除中,无法出结果。在数据量不大的情况下,且网络正常,这种一直在执行中的情况,应该是表锁死了。

查看表是否锁死情况,打开一个查询,输入:SHOW PROCESSLIST;

State字段为Waiting for table metadata lock,等待表元数据锁。

若被锁住了,可以使用KILL命令,KILL后面是Id,即SHOW PROCESSLIST结果第一列的值。

KILL 43043887;

注意:在删除进程前请确认user及db是自己的,不要误删了别人的。

2,修改表

 是因为有长链接占了mysql的元数据锁,在事务没有完成之前,锁不会释放alter table获取不到metadata的独占锁。在表information_schema.innodb_trx中查看数据。

trx_mysql_thread_id这个id的进程。杀掉进程再去修改即可。

KILL 进程id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值