Ubuntu 16.04下MySQL 5.7.18取消開機啟動(解決無法使用Sysvinit(update-rc.d/sysv-rc-conf)腳本關閉)


首先了解以下運行級別對應工具的變化歷史:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM