my.ini(關鍵:basedir、datadir、port)mysqld --initialize[-insecure] 初始化mysqld --install 註冊服務net start mysql 啟動authentication_string)原因:啟動參數指定 --defaults-file=...my.ini,但檔案不存在。
解法:複製 my-default.ini 為 my.ini 放於安裝目錄。
現象:重新初始化覆蓋 data 目錄導致密碼失效。
規避:操作前備份 data 目錄;若已遺失,走 skip-grant-tables 流程重置。
| 版本 | 密碼欄位 | 修改語句 |
|---|---|---|
| 5.6 及之前 | password | UPDATE user SET password=PASSWORD('x') WHERE user='root'; |
| 5.7+ | authentication_string | UPDATE user SET authentication_string=PASSWORD('x') WHERE user='root'; |
執行 mysqld --install 時必須在 bin 目錄下,否則服務指向錯誤路徑導致 Error 2。
修復:mysqld --remove → 進入 bin → 重新 --install。
| 特性 | 5.7.12 | 5.7.13 | 5.7.14 |
|---|---|---|---|
| --initialize-insecure | 支援 | 支援 | 支援 | 預設 sql_mode | STRICT_TRANS_TABLES... | 同左 | 同左 |
| Boost 依賴 | 1.59.0 | 1.59.0 | 1.59.0 |
若不想手動配置,可下載 MySQL Installer MSI 圖形化安裝,自動處理服務、密碼、防火牆、範例資料庫。