首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么删除数据库要花这么长时间?(MySQL)

问为什么删除数据库要花这么长时间?(MySQL)
EN

Database Administration用户
提问于 2012-01-27 12:50:19
回答 4查看 99.8K关注 0票数 58

新的CentOS安装。

我正在运行一个大型DB (2GB sql文件)的导入,并出现了问题。SSH客户端似乎失去了连接,而导入似乎冻结了。我使用另一个窗口登录到mysql,导入似乎死了,卡在一个特定的3M行表上。

所以我试着

代码语言:javascript
复制
DROP DATABASE huge_db;

15-20分钟后,什么都没有。在另一个窗口,我做了:

代码语言:javascript
复制
/etc/init.d/mysqld restart

DROP DB窗口消息传递:服务器关机。然后我实际上重新启动了物理服务器。

重新登录到mysql,选中数据库,数据库仍然在,运行

代码语言:javascript
复制
DROP DATABASE huge_db;

一次又一次我已经等了大约5分钟了。

再一次,这是新的安装。huge_db是唯一的db (系统dbs除外)。我发誓我以前这么快就把分贝掉了这么大,但也许我错了。

我已经成功地删除了数据库。大概花了30分钟。还请注意,当我认为mysqldump导入已死时,我想我弄错了。终端连接丢失了,但我认为进程仍在运行。我很可能扼杀了导入中间表( 3M行表),很可能是整个db的3/4。令人误解的是,"top“显示mysql只使用了3%的内存,而它似乎应该使用更多内存。

删除DB需要30分钟,所以,同样,我可能不需要重新启动服务器,可能只是等待删除完成,但我不知道mysql对于通过mysqldump导入的相同数据库的DROP查询会有什么反应。

尽管如此,问题仍然存在,为什么30min+要删除2GB数据库,而它所要做的就是删除所有的db文件并从information_schema中删除对DB的所有引用?有什么大不了的?

EN

回答 4

Database Administration用户

发布于 2012-02-03 10:16:40

虽然我认为导入过程已经死亡,但它可能仍在运行。

DROP DATABASE命令可能等待数据库在运行之前完成导入。

所以,与其说DROP DATABASE花了很长时间,不如说是因为它的重要性。

1.)

如果其他人读到了它,并且试图取消数据库导入并删除数据库,我建议您首先找到导入的PID (process id),然后从另一个终端运行它:

代码语言:javascript
复制
$ kill [PID]

...where PID将是进程的实际PID。

如果另一个终端仍然连接,您应该立即看到导入停止。

2.)

您还可以在SHOW PROCESSLIST选项卡中运行phpMyAdmin。生成的表显示正在运行的进程,单击您想要杀死的行旁边的“x”可以完成此任务。这将与接受的答案或从mysql命令行终止mysql进程的效果相同。

那就跑

代码语言:javascript
复制
DROP DATABASE `database_name`;

一切都应该是干净的。

另一个答案是,在mysql中终止进程要比从外部执行要好。我还没有测试过这个答案,但听起来很有道理。所以我把它标记为“接受的答案”而不是这个答案。

票数 12
EN

Database Administration用户

发布于 2012-07-12 09:04:20

我也面临着同样的问题。但是这一次我检查了;它说检查权限的时间更长。然后,我发现mysqld_safe是作为root用户运行的,而文件夹级别的权限仅适用于mysql用户。因此,我终止了查询,当然,说它处于已死状态需要很长时间,但我等待它作出反应,然后它终止了查询,并将文件夹级别的权限更改为root,还将其添加到group和chmod到770。然后,我执行了相同的drop数据库blah;对于20 in的数据库,它在2秒内对我起作用。

票数 4
EN

Database Administration用户

发布于 2012-01-27 13:04:34

在删除数据库之前,尝试截断数据库中最大的表。在使用防火墙流量的MySQL存档时,我看到了非常类似的行为,这非常有帮助。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/11806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档