MySQL 5.7.9 及更新版本在 Windows 上安裝後,服務無法啟動且不報錯。根本原因是安裝目錄下缺少 data 目錄,該目錄存放系統表、權限表等核心元數據,無法手動建立,必須透過初始化指令自動生成。
切換至 MySQL bin 目錄:
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
MySQL 5.7.6+ 使用 mysqld --initialize 或 mysqld --initialize-insecure:
mysqld --initialize-insecure --user=mysql
--initialize-insecure:建立 root 使用者且密碼為空,適合開發環境快速上手。--initialize:會產生隨機臨時密碼,寫入 .err 日誌檔,生產環境建議使用此模式。net start mysql
若顯示「MySQL 服務已經啟動成功」,即完成修復。
若使用 --initialize 產生隨機密碼,或忘記密碼,可透過 skip-grant-tables 跳過權限驗證:
my.ini,在 [mysqld] 區段加入 skip-grant-tablesmysql -u rootFLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
skip-grant-tables 並重啟服務生效my.ini 的 datadir 路徑正確data 目錄,版本差異可能導致系統表結構不相容,建議全新初始化後再匯入業務資料MySQL,若自訂服務名需對應 net start 服務名掌握初始化機制,即可輕鬆解決 MySQL 5.7+ Windows 版「無錯誤啟動失敗」的經典難題。