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

MySQL 啟動失敗排查標準流程 (attilax 總結)

     編輯:MySQL 綜合教學

MySQL 啟動失敗排查標準流程

MySQL 無法啟動時,切勿盲目重裝。本文整理標準化排查路徑:日誌優先、前台調試、服務安裝參數、防火牆/權限/配置檔路徑等關鍵點。

1. 找到錯誤日誌

  • 預設位置:數據目錄下的 hostname.err(Linux 多在 /var/log/mysql/error.log 或 /var/lib/mysql/*.err)。
  • 啟動參數指定:--log-error=/path/to/error.log。
  • 若找不到,用 mysqld --verbose --help | grep log-error 查看實際路徑。

2. 前台 Console 模式直接觀察輸出

# Windows
mysqld --defaults-file="D:\wamp\bin\mysql\mysql5.5.20\my.ini" --console

# Linux
mysqld --defaults-file=/etc/my.cnf --user=mysql --console

前台運行會將錯誤直接輸出到終端,若卡住不退出說明啟動成功(可另開終端測試連線);若報錯退出則直接可見原因。

3. 以 Windows 服務安裝啟動

3.1 使用預設配置檔搜尋順序

mysqld --install MySQL57
# 讀取順序:
# C:\Windows\my.ini
# C:\Windows\my.cnf
# C:\my.ini
# C:\my.cnf
# D:\wamp\bin\mysql\mysql5.5.20\my.ini
# D:\wamp\bin\mysql\mysql5.5.20\my.cnf

3.2 指定配置檔安裝(推薦)

# 參數順序關鍵:--install 必須在 --defaults-file 之前
mysqld --install MySQL57 --defaults-file="D:\wamp\bin\mysql\mysql5.5.20\my.ini"

# 成功提示
Service successfully installed.

安裝後服務啟動命令實際為:

D:\wamp\bin\mysql\mysql5.5.20\bin\mysqld.exe --defaults-file="D:\wamp\bin\mysql\mysql5.5.20\my.ini" MySQL57

4. 啟動服務並驗證

net start MySQL57
# 或
sc start MySQL57

常見啟動失敗原因速查表

現象可能原因排查命令/動作
服務啟動後立即停止配置檔路徑錯、datadir 權限、端口佔用、my.ini 語法錯前台 --console 看輸出;netstat -ano \| findstr 3306
Can't create test filedatadir 目錄不存在或無寫入權限mkdir datadir && chown -R mysql:mysql datadir
Unknown variable 'xxx'my.ini 參數拼寫錯或版本不支援mysqld --help --verbose \| grep xxx
InnoDB: Unable to lock ./ibdata1另一實例在運行、殘留進程、權限ps -ef \| grep mysqld; kill -9; 檢查鎖文件
Plugin 'InnoDB' registration failedib_logfile 損壞、大小不匹配 innodb_log_file_size停庫、刪除 ib_logfile*、重啟(會重建)

Linux 系統服務管理

systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
journalctl -u mysqld -f  # 即時看日誌
核心原則:日誌第一、前台第二、服務第三。永遠先看錯誤日誌,再用前台模式復現,最後才考慮服務安裝參數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved