当前位置:首页 > 主机动态 > 正文

Linux如何停止MySQL服务

关闭MySQL数据库,在Linux终端执行命令: ,1. **首选命令**: sudo systemctl stop mysql ,2. **备选命令**: sudo service mysql stop ,确保提前保存数据,避免强制终止导致损坏。

如何安全关闭 Linux 中的 MySQL 数据库

在 Linux 系统中关闭 MySQL 数据库是服务器维护、升级或故障排查中的常见操作,以下是四种专业方法,涵盖不同场景需求,确保数据安全性和服务稳定性。


方法一:通过 systemctl 关闭(推荐,适用于 systemd 系统)

适用系统:Ubuntu 16.04+/CentOS 7+/Debian 8+ 等使用 systemd 的发行版

# 停止 MySQL 服务 sudo systemctl stop mysqld # CentOS/RHEL sudo systemctl stop mysql # Ubuntu/Debian # 验证状态(显示 "inactive" 表示成功) sudo systemctl status mysqld


️ 方法二:使用 service 命令(SysVinit 系统)

适用系统:旧版 Ubuntu/CentOS 6 等使用 init.d 的系统

Linux如何停止MySQL服务 第1张

方法三:通过 mysqladmin 命令(优雅关闭,确保事务安全)

适用场景:需安全终止所有数据库连接并完成事务提交

mysqladmin -u root -p shutdown

  • -u root:替换为有权限的管理员账户
  • -p:输入后按提示输入密码

    效果

    等待所有活动事务完成

    刷新所有缓存数据到磁盘

    拒绝新连接请求


方法四:MySQL 客户端内关闭(紧急操作)

适用场景:无法通过系统命令关闭时

Linux如何停止MySQL服务 第2张

登录后执行 SQL 命令:

SHUTDOWN;

或强制关闭(不推荐):

Linux如何停止MySQL服务 第3张

SHUTDOWN IMMEDIATE; -- 终止所有活动连接(可能丢失数据)


️ 关键注意事项

  1. 数据安全
    • 优先使用 mysqladmin 或 systemctl 避免事务中断。
    • 禁止直接 kill -9 进程,可能导致表损坏(需用 kill -15 发送 SIGTERM 信号)。
  2. 权限问题
    • 所有命令需 sudo 或 root 权限执行。
    • 若提示 Access denied,检查 /etc/mysql/debian.cnf(Debian 系)或重置 root 密码。
  3. 关闭后验证 ps aux | grep mysqld # 无 mysqld 进程 netstat -tuln | grep 3306 # 无 3306 端口监听


常见问题解决

  • 无法关闭?

    检查错误日志: tail -f /var/log/mysql/error.log # Ubuntu tail -f /var/log/mysqld.log # CentOS

  • 启动失败?

    修复表损坏: mysqld --innodb_force_recovery=1 # 启动修复模式


方法 适用场景 安全等级
systemctl stop 常规关闭(推荐)
mysqladmin shutdown 确保事务完整性
MySQL SHUTDOWN 客户端内操作
service stop 旧版系统兼容

ℹ️ 操作原则:生产环境务必提前备份数据(mysqldump -u root -p --all-databases > backup.sql),避免高峰时段操作。


引用说明

0