You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

/var分区已满,无法停止MySQL以迁移数据库数据求助

解决MySQL无法正常停止的问题

我之前也碰到过好几次这种情况——明明执行了停止命令,MySQL进程却还赖着不走。别着急,咱们一步步来搞定它:

  • 先试试用systemd的原生命令来停止,毕竟现在很多发行版都是用systemd管理服务的,可能比/etc/init.d的脚本更靠谱:

    systemctl stop mysql.service
    

    执行完后用这条命令确认状态:

    systemctl status mysql.service
    
  • 如果上面的方法还是没效果,那就用MySQL自带的工具来优雅停止,这是最安全的方式,不会损坏数据:

    mysqladmin -u root -p shutdown
    

    输入MySQL的root密码后,等待几秒,再用ps -A | grep mysql检查进程是否消失。

  • 要是连mysqladmin都不管用,那就只能手动终止进程了,但记得先杀mysqld,再杀mysqld_safe,而且尽量先用正常终止,万不得已再用强制终止(强制终止可能会导致数据损坏):

    1. 先终止mysqld进程(你的PID是13028):
      kill 13028
      
    2. 等个3-5秒,再检查进程,如果还在,就用强制终止:
      kill -9 13028
      
    3. 最后终止mysqld_safe进程(你的PID是12683):
      kill 12683
      
      同样,要是没反应就加-9。
  • 确认所有MySQL相关进程都消失后,你就可以继续迁移数据到/data目录了。记得迁移完成后:

    1. 修改MySQL配置文件(通常是/etc/mysql/my.cnf或者/etc/mysql/mysql.conf.d/mysqld.cnf)里的datadir参数,改成新的路径(比如datadir = /data/mysql)。
    2. 确保新的/data目录权限是mysql:mysql:
      chown -R mysql:mysql /data/mysql
      
    3. 然后启动MySQL:
      systemctl start mysql.service
      
      启动后检查状态和数据是否正常,确保迁移成功。

内容的提问来源于stack exchange,提问作者yarek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:26:22