Ubuntu 16.04下MySQL 5.7.18取消开机启动(解决无法使用Sysvinit(update-rc.d/sysv-rc-conf)脚本关闭)...

本文介绍了Ubuntu系统中服务管理工具的变化历程,从Sysvinit到Upstart再到Systemd,并详细解析了不同版本下MySQL和Apache服务的启动控制方法。

首先了解以下运行级别对应工具的变化历史:

1、Ubuntu 6.10及以前版本使用Sysvinit。

2、Ubuntu 14.10及以前版本使用Upstart但是还留着Sysvinit并存。

https://wiki.ubuntu.com/Upstart

https://help.ubuntu.com/community/UpstartHowto

3、Ubuntu 15.04开始预设使用Systemd,但是可以在开机选项选择使用Systemd或Upstart,但是不可同時使用Sysvinit或Upstart并存。

https://wiki.ubuntu.com/SystemdForUpstartUsers

下面是分析:

从11.04版起,我想。MySQL由Upstart进行处理,而Apache仍然使用传统的Sysvinit脚本。

对于MySQL,可以使用Upstart中的新的覆盖功能来修改启动行为:

echo "manual" | sudo tee /etc/init/mysql.override

有关更多信息,请参阅Upstart Cookbook中的“ 禁止自动启动作业 ” 一节。

而在16.04版本上,由于使用了Systemd进行接管,以上脚本无法使用,那么需要使用以下脚本来禁止才能通过:

#禁止启动
sudo systemctl disable mysql
#开机启动
sudo systemctl enable mysql

所以,我猜测,MySQL现在整体由Systemd进行处理,但是这仅限于以APT源和deb文件安装的版本,而对于以二进制包(tar.gz压缩包)安装的版本,然仍使用Sysvinit脚本进行控制。

对于Systemd来说,服务在运行级别上简化很多,不用关心运行在哪个运行级别上。默认已经帮你配置好。

对于Apache的分析:

由于Apache仍然使用传统的Sysvinit脚本,可以使用它

sudo update-rc.d -f apache2 remove

从中删除链接/etc/rcX.d或替代使用

sudo update-rc.d apache2 disable

它通过将脚本从起始脚本更改为停止脚本来“禁用”脚本。这是可逆的

sudo update-rc.d apache2 enable

而对于Sysvinit脚本的操作,对应的工具就是sysv-rc-conf。

 

参考:

https://askubuntu.com/questions/40072/how-to-stop-apache2-mysql-from-starting-automatically-as-computer-starts

https://askubuntu.com/questions/833094/how-can-i-disable-autostart-of-mysql-server

https://askubuntu.com/questions/57381/how-to-stop-mysql-from-running-at-boot-time

https://askubuntu.com/questions/40072/how-to-stop-apache2-mysql-from-starting-automatically-as-computer-starts/40077#40077

转载于:https://www.cnblogs.com/EasonJim/p/7168198.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值