選擇 MySQL 理由:開源成熟、社群完善、入門簡單。本文記錄 5.7.13 解壓版在 Windows 下的安裝配置全過程。
C:\mysql複製 my-default.ini 為 my.ini,修改路徑:
[mysqld]
basedir = C:\mysql
datadir = C:\mysql\data
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 其餘參數按需啟用
# innodb_buffer_pool_size = 1G
# log_bin = mysql-bin
⚠️ 路徑用正斜線或雙反斜線,目錄名避免空格/中文/特殊字元。
系統變數 Path 新增 C:\mysql\bin。
cd C:\mysql\bin
mysqld --remove # 清理舊服務
mysqld --install # 安裝服務(預設名 MySQL)
mysqld --initialize # 初始化 data 目錄,生成隨機 root 密碼
net start mysql # 啟動服務
data 目錄下 *.err 檔案中:
2016-07-18T06:14:27.448186Z 1 [Note] A temporary password is generated for root@localhost: ?wxxx
mysql -u root -p
# 輸入上方隨機密碼
-- 5.7 修改密碼語法
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;
net stop mysqlmysqld --skip-grant-tables(保持視窗開啟)mysql -u root(無需密碼)UPDATE mysql.user SET authentication_string = PASSWORD('NewPass123!') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
QUIT;
--skip-grant-tables 視窗,net start mysql| 現象 | 原因與解決 |
|---|---|
| mysqld --initialize 無輸出 | 需加 --console 參數輸出到終端 |
| 服務啟動失敗 | 檢查 .err 日誌;確認 3306 埠未佔用;datadir 權限 |
| Navicat 連線密碼過期 | 執行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); |
| 中文亂碼 | 配置 character_set_server=utf8mb4,重新建庫表 |
mysql -u root -p -e "SELECT VERSION(); SHOW VARIABLES LIKE 'char%';"
完成上述步驟,獲得一個可生產使用的 MySQL 5.7.13 Windows 實例。建議後續:啟用慢查詢日誌、配置備份腳本、設定防火牆規則。