Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:慢速删除表命令_Mysql - Fatal编程技术网

MySQL:慢速删除表命令

MySQL:慢速删除表命令,mysql,Mysql,我想用 DROP TABLE IF EXISTS <myTableName>; 删除表格(如果存在); 然而,即使在几个小时后,它仍然在运行。有什么解决方法的建议吗?我也遇到了同样的问题,只是通过重新启动服务器解决了这个问题: sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start 可能是某个锁被锁住了,重新启动释放了它。更好的方法: 终止所有阻止删除操作的进程 假设您要在数据库中删除一个表表 1) 在并行会话中登录my

我想用

DROP TABLE IF EXISTS <myTableName>;
删除表格(如果存在);

然而,即使在几个小时后,它仍然在运行。有什么解决方法的建议吗?

我也遇到了同样的问题,只是通过重新启动服务器解决了这个问题:

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
可能是某个锁被锁住了,重新启动释放了它。

更好的方法:

终止所有阻止删除操作的进程 假设您要在数据库中删除一个表

1) 在并行会话中登录mysql,最好以root用户身份登录。 问题:

您将看到db*上所有进程的列表:

2) 如果在拖放之前有任何活动进程,则应等待它们完成(如果确定,则杀死它们)

3) 然后在等待进程之前,先关闭所有“休眠”的进程:

KILL 38239;
KILL 38240;
4) 之后,被阻止的进程应继续执行丢弃操作

在InnoDB中,在删除之前等待是一个已知的问题


更新:在非独占更新(受影响记录的数量可能不同的更新)上也注意到此行为,例如:

# may update any number of customers, from 0 to all
UPDATE customers SET `active` = 'N' WHERE `last-payment-date` < 2018-01-01;
#可以更新任意数量的客户,从0到全部
更新客户设置“活动”=“N”,其中“上次付款日期”<2018-01-01;
解决方案完全相同


  • 所提供的表格取自真实场景,出于安全和演示目的,对数据进行了模糊处理和轻微编辑

检查此线程,可能您有相同的悬挂升降台问题是的,这将是一个锁定问题。检查该表上是否有打开/未提交的trans?注意:有时UPDATE语句会出现这种情况;有关详细信息,请参阅我的答案。
KILL 38239;
KILL 38240;
# may update any number of customers, from 0 to all
UPDATE customers SET `active` = 'N' WHERE `last-payment-date` < 2018-01-01;