安全地取消MySQL导入

时间:2019-03-19 10:34:11

标签: mysql

我正在尝试上传大型数据库:

$ mysql -u用户名-p MY_DATABASE

但是该过程进展非常缓慢,我想取消并使用其他设置重试。如何“安全”取消此上传?或在强制终止导入后清理数据库的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以杀死MY_DATABASE.sql中涉及的MySQL进程

这向您显示正在运行的进程:

show processlist;

然后,您应该杀死用户通过正确的process_id选择它的过程以及上一条命令显示的时间,以了解哪个是正确的(如果正在运行其他过程):

kill process_id

我认为清理数据库是最艰巨的工作,因为它取决于MY_DATABASE.sql的内容:如果它填充了一个表,则可以简单地截断它,如果它创建了一个数据库并上传了存储的表,视图过程和其他元素,则应删除数据库。

如果您在杀死进程(创建数据库吗?创建了表或其他元素?)之后查看了MY_DATABASE.sql的内容和服务器的内容,您将了解该怎么做。

如果按照我的想象,如果脚本完全创建了一个数据库,则只需删除从上一个中断的上载创建的数据库(如果有),然后重新开始上载。

答案 1 :(得分:0)

我宁愿使用终止密钥(它是ctrl+cservice mysqld restartservice mysql restart来终止MySQL导入并终止进程)。

这只会结束导入过程,有时会结束。一旦完成,就可以继续进行。如果以杀死进程结束该进程,则可能会导致一些意外错误,例如mysql服务器崩溃。