在服务器运维中,我们常常需要控制服务的启动行为。mysql安装后默认会注册为开机自启服务,但有些场景下我们希望手动启动数据库,因此要学会如何禁止mysql开机自启。

Linux系统下禁止mysql开机自启
使用systemctl管理的系统
目前大多数linux发行版采用systemd作为初始化系统,mysql服务名通常为mysql或mysqld。查看服务是否启用自启可使用如下命令:
# 查看mysql服务自启状态 systemctl is-enabled mysql # 禁止开机自启 sudo systemctl disable mysql # 停止当前运行中的服务(可选) sudo systemctl stop mysql
执行disable后,系统不会在开机时自动拉起mysql,但手动执行start依然可以运行。
使用sysvinit的老版本系统
部分旧版debian或centos使用init.d脚本管理。对应的关闭自启方式如下:
# Debian/Ubuntu旧版 sudo update-rc.d mysql disable # CentOS 6及之前 sudo chkconfig mysqld off
Windows系统下禁止mysql开机自启
通过服务管理器设置
打开运行窗口输入services.msc,找到mysql服务,将启动类型修改为手动或禁用,确定后重启系统即可生效。
使用命令行配置
也可以使用sc命令直接修改服务启动方式:
# 将mysql服务设为手动启动 sc config mysql start= demand
其中demand表示手动,disabled表示禁用。注意等号后需要加一个空格。
操作验证与注意事项
配置完成后建议重启系统,然后使用进程或端口检查mysql是否自行启动:
- linux执行
systemctl status mysql确认状态为非活跃 - windows在任务管理器服务标签查看mysql启动类型
注意:禁止自启不会影响已有数据,仅改变启动策略,若业务依赖mysql需提前规划手动启动脚本。
| 系统类型 | 管理方式 | 关闭自启命令 |
|---|---|---|
| Linux systemd | systemctl | systemctl disable mysql |
| Linux init.d | chkconfig/update-rc.d | chkconfig mysqld off |
| Windows | sc/services.msc | sc config mysql start= demand |
通过上述方法,你可以根据实际环境选择对应方案,轻松禁止mysql开机自启,让服务器启动更可控。