我正在尝试上传大型数据库:
$ mysql -u用户名-p MY_DATABASE 但是该过程进展非常缓慢,我想取消并使用其他设置重试。如何“安全”取消此上传?或在强制终止导入后清理数据库的最佳方法是什么?
答案 0 :(得分:1)
您可以杀死MY_DATABASE.sql
中涉及的MySQL进程
这向您显示正在运行的进程:
show processlist;
然后,您应该杀死用户通过正确的process_id
选择它的过程以及上一条命令显示的时间,以了解哪个是正确的(如果正在运行其他过程):
kill process_id
我认为清理数据库是最艰巨的工作,因为它取决于MY_DATABASE.sql
的内容:如果它填充了一个表,则可以简单地截断它,如果它创建了一个数据库并上传了存储的表,视图过程和其他元素,则应删除数据库。
如果您在杀死进程(创建数据库吗?创建了表或其他元素?)之后查看了MY_DATABASE.sql
的内容和服务器的内容,您将了解该怎么做。
如果按照我的想象,如果脚本完全创建了一个数据库,则只需删除从上一个中断的上载创建的数据库(如果有),然后重新开始上载。
答案 1 :(得分:0)
我宁愿使用终止密钥(它是ctrl+c
和service mysqld restart
或service mysql restart
来终止MySQL导入并终止进程)。
这只会结束导入过程,有时会结束。一旦完成,就可以继续进行。如果以杀死进程结束该进程,则可能会导致一些意外错误,例如mysql服务器崩溃。