首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

解決 service mysql start 報錯「unrecognized service」與啟動失敗問題

     編輯:MySQL 綜合教學

解決 service mysql start 報錯「unrecognized service」與啟動失敗問題

現象

[root@host ~]# service mysql start
mysql: unrecognized service
[root@host ~]# service mysql restart
mysql: unrecognized service

排查步驟

  1. 確認 RPM 包已安裝:
    rpm -q mysql
    # 輸出:mysql-5.1.52-jason.1  → 已安裝
    
  2. 嘗試直接啟動腳本:
    /etc/rc.d/init.d/mysqld start
    # Starting mysqld: [ OK ]
    
  3. 檢查服務腳本名稱:
    ls -l /etc/rc.d/init.d/mysqld
    # -rwxr-xr-x 1 root root 5509 Dec 18 02:31 /etc/rc.d/init.d/mysqld
    
    關鍵發現: 服務腳本實際名為 mysqld,而非 mysql。

解決方案

# 1. 給腳本執行權限(通常已有)
chmod 755 /etc/rc.d/init.d/mysqld

# 2. 設定開機自啟
chkconfig mysqld on

# 3. 以後統一使用 mysqld 服務名
service mysqld start
service mysqld status
# mysqld (pid 9487) is running...

根因總結

  • RPM 安裝的 MySQL 服務名為 mysqld(SystemV 風格)。
  • service mysql 找不到對應腳本,故報「unrecognized service」。
  • 部分第三方倉庫或源碼編譯安裝可能註冊為 mysql,需以實際 /etc/init.d/ 下腳本名為準。

通用排查口訣

  1. ls /etc/init.d/ | grep -i mysql 看實際腳本名。
  2. systemctl list-unit-files | grep -i mysql(Systemd 系統)看單元名。
  3. 用實際名稱操作:service 實際名 start|stop|restart|status。

記住:服務名 ≠ 包名 ≠ 進程名,以 /etc/init.d/ 或 systemctl 顯示為準。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved