Windows 環境下使用 MySQL 免安裝包 (ZIP/7z) 快速部署開發/測試實例,含解壓、配置檔編寫、服務註冊、啟動、建庫授權、匯入資料全流程。
# 假設解壓至 D:\mysql-5.6.17-winx64
# 目錄結構:
# D:\mysql-5.6.17-winx64\
# ├── bin\ # 可執行檔
# ├── data\ # 數據目錄 (初始為空)
# ├── my.ini # 配置檔 (需手動建立)
# └── README.txt
[mysqld]
# 基礎路徑 (務必用正斜線或雙反斜線)
basedir = D:/mysql-5.6.17-winx64
datadir = D:/mysql-5.6.17-winx64/data
port = 3306
server_id = 1
# 字符集 (建議統一 utf8mb4)
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
[client]
default-character-set = utf8mb4
port = 3306
[mysql]
default-character-set = utf8mb4
注意:server_id 必須為整數,原文 mssql 會導致啟動失敗。
cd /d D:\mysql-5.6.17-winx64\bin
# 5.6 版本無需此步,data 目錄下會自動建立 system 表
# 5.7/8.0 需初始化:
mysqld --initialize-insecure --basedir=D:/mysql-5.6.17-winx64 --datadir=D:/mysql-5.6.17-winx64/data
# 以管理員身份執行 CMD/PowerShell
cd /d D:\mysql-5.6.17-winx64\bin
mysqld install MySQL56 # 服務名稱自定
net start MySQL56
# 驗證連線
mysql -u root -p # 5.6 初始無密碼,直接 Enter
-- 登入後執行
CREATE DATABASE zsk CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 建立本地用戶 (開發環境常用)
CREATE USER 'zs'@'localhost' IDENTIFIED BY 'zsp';
GRANT ALL PRIVILEGES ON zsk.* TO 'zs'@'localhost';
FLUSH PRIVILEGES;
-- 建立遠程用戶 (如需外部連線)
CREATE USER 'zs'@'%' IDENTIFIED BY 'zsp';
GRANT ALL PRIVILEGES ON zsk.* TO 'zs'@'%';
FLUSH PRIVILEGES;
# 命令列方式 (推薦大檔案)
mysql -u zs -p zsk < D:/backup/zsk_dump.sql
# 或進入 mysql 客戶端
mysql -u zs -p
USE zsk;
SOURCE D:/backup/zsk_dump.sql;
| 現象 | 原因 | 解決 |
|---|---|---|
| net start 失敗 "服務名稱無效" | 服務名含空格或特殊字符 | mysqld install MySQL56 使用簡單名稱 |
| 啟動報錯 "Can't create test file" | datadir 路徑錯誤或權限不足 | 檢查 my.ini 路徑、以管理員身份執行 |
| 連線報錯 "Access denied for user 'root'" | 5.7+ 初始化生成隨機密碼 | 查看 .err 日誌臨時密碼,或用 --initialize-insecure 重新初始化 |
| 遠程連線 "Host 'x.x.x.x' is not allowed" | 用戶 host 不匹配 | 建立 'user'@'%' 或具體 IP 用戶 |
| 中文亂碼 | 字符集不一致 | 全鏈路 utf8mb4:表、庫、連接、配置檔 |
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd';DELETE FROM mysql.user WHERE User='';UPDATE mysql.user SET Host='localhost' WHERE User='root';DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';