萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 禁止 MySQL 開機自動啟動的正確方法

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

核心原理

  • Upstart 服務設定檔位於 /etc/init/。
  • mysql.conf 中的 start on 條件決定何時啟動。
  • Ubuntu 預設 runlevel 為 2,故 runlevel [2345] 會觸發啟動。

解決步驟

1. 清理傳統 rc.d 連結(若存在)

sudo update-rc.d -f mysql remove

或手動將 /etc/rc2.d/S*mysql 改為 K*mysql。

2. 修改 Upstart 設定檔

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]

3. 重新載入 Upstart 設定

sudo initctl reload-configuration

驗證方式

sudo initctl show-config mysql

確認 start on 條件已變更,且不包含 runlevel 2。

恢復自動啟動

若需恢復,將 start on 改回 runlevel [2345] 並重新載入設定即可。

systemd 系統補充

若使用 Ubuntu 16.04+ 或其他 systemd 發行版,請改用:

sudo systemctl disable mysql

理解服務管理機制差異,才能精準控制服務啟動行為,避免資源浪費與安全風險。

copyright © 萬盛學電腦網 all rights reserved