如何阻止mysql移动MySQL数据库数据?

时间:2018-05-05 15:08:39

标签: mysql

我的/ var已满(98%已满)所以我尝试将mysql数据移动到/ data

我按照以下说明操作:How to change MySQL data directory?

问题是:我无法阻止mysql

/etc/init.d/mysql stop

给出:

  

[ok]停止mysql(通过systemctl):mysql.service。

Byt mysql一直在运行。

我试过

/etc/init.d/mysql stop

STill无法阻止它

# ps -A |grep mysql
12683 ?        00:00:00 mysqld_safe
13028 ?        5-19:29:43 mysqld

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您是否以root身份运行init.d脚本?除非以超级用户身份运行命令,否则无法启动或停止服务。

您还可以尝试使用此mysql工具关闭mysql服务:

mysqladmin -uroot -p shutdown 

在此处阅读更多内容:https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html

如果这不起作用,我会检查MySQL错误日志(错误日志的位置会有所不同,但它可能在您的datadir中,或者在某个地方的/ var / log中)。

或许只是花了很长时间才能完全关机。 MySQL clean shutdown要求它将缓冲池中的所有脏页写入磁盘,位于表空间中的正确位置。如果您有一个大缓冲池和大量修改过的页面,这可能需要很长时间。如果花费的时间太长,init.d脚本可能会放弃等待。但关闭仍在进行中。错误日志可能会告诉您它正在做什么。

如果shutdown命令没有帮助,最后的办法是终止具有偏见(sudo kill -9 12683 13028)的进程。如果您使用像InnoDB这样的耐用存储引擎(并且没有经过禁用的耐久性),这不会破坏您的数据,但它不会真正为您节省时间,因为它会让您感到沮丧在下次启动服务时执行崩溃恢复。