新的CentOS安装。
我正在运行一个大型数据库(2GB的sql文件)的导入,出现了问题。SSH客户端似乎失去了连接,导入似乎冻结了。我使用另一个窗口登录mysql,导入似乎已死,卡在特定的3M行表上。
所以我尝试了
DROP DATABASE huge_db;
15-20分钟后,什么都没有。在另一个窗口中,我做了:
/etc/init.d/mysqld restart
DROP DB窗口消息:服务器关闭。然后,我实际上重新启动了物理服务器。
重新登录到mysql,检查并且db仍然存在,运行
DROP DATABASE huge_db;
再一次,我已经等了大约5分钟。
再一次,它是全新的安装。的huge_db
是唯一的分贝(除系统DBS其他)。我发誓我已经并且很快就放弃了这么大的数据库,但是也许我错了。
我已经成功删除了数据库。花了大约30分钟。另请注意,当我以为mysqldump导入已死时,我认为我弄错了。终端连接丢失,但是我认为该过程仍在运行。我最有可能杀死了导入中间表(3M行表),并且可能杀死了整个数据库的3/4。令人误解的是,“ top”显示mysql仅使用3%的内存,而它似乎应该使用更多的内存。
删除数据库最终花费了30分钟,因此,再次,我可能不必重新启动服务器,并且可能刚刚等待DROP完成,但是我不知道mysql如何响应获取DROP查询。通过mysqldump导入的同一个数据库。
仍然存在问题,为什么删除所有2GB数据库并删除所有db文件并从information_schema中删除对DB的所有引用时,为什么要花30分钟以上的时间来删除2GB数据库?有什么大不了的?
DROP DATABASE
命令时,直到所有连接都关闭,服务器才能继续。