Ubuntu 使用 Upstart 管理服務,MySQL 若透過 apt 安裝,其啟動設定寫在 /etc/init/mysql.conf,而非傳統的 /etc/rc*.d/ 目錄。因此單純移除 rc.d 連結或使用 update-rc.d、bum 等工具皆無效。本文說明正確停用 MySQL 開機自啟的方法。

/etc/init/。mysql.conf 中的 start on 條件決定何時啟動。runlevel [2345] 會觸發啟動。sudo update-rc.d -f mysql remove
或手動將 /etc/rc2.d/S*mysql 改為 K*mysql。
sudo vim /etc/init/mysql.conf
找到 start on 區塊:
start on (net-device-up
and local-filesystems
and runlevel [2345])
修改為不包含 runlevel 2 的條件,例如:
start on (net-device-up
and local-filesystems
and runlevel [345])
或直接禁用所有 runlevel:
start on runlevel [!0123456]
sudo initctl reload-configuration
sudo initctl show-config mysql
確認 start on 條件已變更,且不包含 runlevel 2。
若需恢復,將 start on 改回 runlevel [2345] 並重新載入設定即可。
若使用 Ubuntu 16.04+ 或其他 systemd 發行版,請改用:
sudo systemctl disable mysql
理解服務管理機制差異,才能精準控制服務啟動行為,避免資源浪費與安全風險。