mysql-5.6.25-winx64.zip(免安裝包,官網下載)解壓至:C:\Program Files\mysql\mysql-5.6.25-winx64 建議結構: ├── bin\ ├── data\ (初始為空,後由 mysqld --initialize 生成) ├── temp\ (手動建立,必須存在) └── my.ini (由 my-default.ini 重命名)
MYSQL_HOME=C:\Program Files\mysql\mysql-5.6.25-winx64Path 追加:%MYSQL_HOME%\binmy.ini 關鍵段[mysqld] basedir = C:/Program Files/mysql/mysql-5.6.25-winx64/ datadir = C:/Program Files/mysql/mysql-5.6.25-winx64/data/ tmpdir = C:/Program Files/mysql/mysql-5.6.25-winx64/tmp/ port = 3306 character-set-server = gbk # 或 utf8mb4 default-storage-engine = InnoDB sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
注意: 路徑使用正斜槿 / 或雙反斜槿 \\;tmpdir 目錄**必須預先建立**,MySQL 不會自動創建。
cd %MYSQL_HOME%\bin mysqld --initialize-insecure --console
生成 data 目錄下的系統表、root@localhost 無密碼賬號。
mysqld --install MySQL --defaults-file="C:\Program Files\mysql\mysql-5.6.25-winx64\my.ini"
免安裝版安裝服務後,註冊表 ImagePath 常缺少 --defaults-file 絕對路徑,導致啟動報「系統錯誤 2」。
regeditHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQLImagePath 為:"C:\Program Files\mysql\mysql-5.6.25-winx64\bin\mysqld" --defaults-file="C:\Program Files\mysql\mysql-5.6.25-winx64\my.ini" MySQL
net start MySQL # 啟動 net stop MySQL # 停止 sc delete MySQL # 卸載服務
| 現象 | 原因 | 解決 |
|---|---|---|
| 啟動報「系統錯誤 2」 | 服務找不到 my.ini | 修正註冊表 ImagePath 絕對路徑 |
| 啟動即停止,日誌無錯誤 | tmpdir 目錄不存在 | 手動建立 tmp 目錄 |
| 連線報「Can't connect to MySQL server on 'localhost' (10061) | 服務未運行/端口被佔用/防火牆 | 檢查 net start、netstat -ano、防火牆規則 |
| 中文亂碼 | 字符集不一致 | my.ini 設定 character-set-server=utf8mb4,客戶端同步 |