如何停止mysql服务_mysql安全关闭方法

来源:这里教程网 时间:2026-02-28 20:36:32 作者:

停止 MySQL 服务不是简单“杀进程”,而是要让数据库完成事务清理、刷盘、释放锁等安全收尾动作。直接用

kill -9
强制终止可能造成数据不一致或表损坏,应优先使用官方支持的关闭方式。

Windows 系统:推荐两种稳妥方法

服务管理器方式(图形化,适合大多数用户)

Win + R
输入
services.msc
→ 找到 MySQL 对应服务(如
MySQL80
mysql
或自定义名称)→ 右键选择“停止”。系统会等待 MySQL 完成内部清理再退出,安全可靠。

管理员命令行方式(适合脚本或远程维护)
以管理员身份打开命令提示符(CMD 或 PowerShell),执行:

net stop mysql
(若服务名为默认
mysql
net stop MySQL80
(若安装的是 MySQL 8.0,服务名常带版本号)

执行后看到“服务已成功停止”提示即表示关闭完成。不建议用

taskkill /f /im mysqld.exe
替代。

Linux 系统:区分 systemd 和传统 init

systemd 系统(Ubuntu 16.04+、CentOS 7+、Debian 8+ 等主流发行版)
使用以下任一命令即可安全停止:

sudo systemctl stop mysql
(Debian/Ubuntu 默认服务名)
sudo systemctl stop mysqld
(CentOS/RHEL 默认服务名)

执行后可用

sudo systemctl status mysql
查看状态,确认显示
inactive (dead)
且无活跃进程。

旧版 SysVinit 系统(如 CentOS 6)
运行:

sudo service mysql stop
sudo /etc/init.d/mysql stop

注意:不要直接

kill
进程号,除非已确认服务管理器失效且需紧急处置。

通过 MySQL 自身命令关闭(跨平台通用)

该方式要求你有 MySQL root 权限,且服务仍在响应客户端连接:

先登录:
mysql -u root -p
在 MySQL 提示符下执行:
SHUTDOWN;
(MySQL 5.7+ 支持,8.0 中仍有效)
或退出后用 mysqladmin:
mysqladmin -u root -p shutdown

这个操作会触发 MySQL 主动终止所有连接、提交/回滚事务、刷新日志并安全退出,是最贴近“数据库语义”的关闭方式。

哪些操作要避免

❌ 直接

kill -9 $(pgrep mysqld)
—— 跳过所有清理流程,高风险;
❌ 在未确认主从同步完成时关闭主库 —— 可能导致从库复制中断;
❌ 关闭前未检查长事务或活跃备份任务 —— 可能中断
mysqldump
mysqlpump
进程;
❌ 忘记通知依赖服务(如 PHP-FPM、Node.js 应用)—— 导致应用报错“Connection refused”。

实际关闭前,建议先运行

SHOW PROCESSLIST;
查看是否有长时间运行的查询,必要时
KILL [id]
终止非关键会话,再执行安全关闭。

相关推荐