我的/ 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
有什么想法吗?
答案 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这样的耐用存储引擎(并且没有经过禁用的耐久性),这不会破坏您的数据,但它不会真正为您节省时间,因为它会让您感到沮丧在下次启动服务时执行崩溃恢复。