如何停止Linux上的MySQL服务?
- Linux
- 2025-07-02
- 6
使用 sudo systemctl stop mysql 命令可停止 MySQL服务,也可用 sudo service mysql stop,执行后建议用 sudo systemctl status mysql 确认服务状态。
在Linux系统中停止MySQL服务是常见的操作,通常用于系统维护、配置更新或故障排查。为确保数据安全,操作前务必备份数据库,以下是详细方法,根据系统初始化工具(systemd或SysVinit)和MySQL版本选择合适方式:
使用 systemd 停止 MySQL(推荐,适用于大多数现代系统)
适用系统:CentOS 7/8、Ubuntu 16.04+、Debian 9+ 等使用 systemd 的系统。
步骤:
-
检查服务状态(确认MySQL服务名称):
sudo systemctl status mysql # Ubuntu/Debian sudo systemctl status mysqld # CentOS/RHEL若输出显示 active (running),说明服务正在运行。
-
停止MySQL服务:
sudo systemctl stop mysql # Ubuntu/Debian sudo systemctl stop mysqld # CentOS/RHEL -
验证是否停止:
sudo systemctl status mysql成功停止后,输出显示 inactive (dead) 或 Active: failed。
使用 SysVinit 停止 MySQL(旧版系统)
适用系统:CentOS 6、Ubuntu 14.04 等使用 init.d 脚本的系统。
步骤:
-
停止服务:
sudo service mysql stop # Ubuntu/Debian sudo service mysqld stop # CentOS/RHEL
或
-
验证状态:

sudo service mysql status
输出应显示 MySQL is stopped。
-
使用MySQL管理员账户执行:
mysqladmin -u root -p shutdown- -u root:以root用户操作(替换为实际管理员账号)。
- -p:输入密码(执行后提示输入)。
-
验证:
ps aux | grep mysqld # 无mysqld进程即成功 -
查找MySQL进程ID:
ps aux | grep mysqld
-
发送终止信号:
常见问题解决
-
权限不足:
- 错误提示:Failed to stop mysql.service: Access denied
- 解决:使用 sudo 执行命令。
-
服务无法停止:
- 原因:MySQL进程卡死或依赖冲突。
- 解决: sudo systemctl kill mysqld # 强制终止 sudo systemctl reset-failed mysql # 重置失败状态
-
停止后自动重启:
- 检查是否启用自动恢复: sudo systemctl disable mysql # 禁用开机自启(需时)
关键注意事项
- 备份数据:停止前务必使用 mysqldump 备份数据库。
- 选择正确方法:
- 优先使用 systemctl(现代系统)。
- mysqladmin shutdown 是最安全的停止方式。
- 生产环境谨慎操作:避免高峰时段停机,确保业务连续性。
引用说明:本文方法参考MySQL官方文档的Linux系统管理最佳实践,操作时请根据实际环境调整命令参数。
-
通过 mysqladmin 命令停止(安全关闭数据库)
适用场景:需要优雅终止MySQL进程,避免数据损坏。
步骤:
强制终止进程(极端情况)
仅当上述方法失效时使用(可能造成数据丢失):
