MySQL 免安裝版(綠色版)部署時常遇到 1067 進程意外終止 與 **中文亂碼** 雙重難題。本文提供經實測可用的 my.ini 完整配置模板、服務註冊、權限初始化全流程,親測可解決上述問題。
MYSQL_HOME = 解壓路徑(例:E:\MYSQL\mysql-5.6.23-winx64)Path 追加 ;%MYSQL_HOME%\bin將解壓目錄下的 my-default.ini 複製並重命名為 my.ini,內容**完全替換**為下列配置(路徑請自行對應修改):
[mysqld] #skip-grant-tables # 忘記密碼時暫時開啟,平時務必關閉 port=3306 # 關鍵:避免 1067 錯誤,請勿使用 default-character-set=utf8 character-set-server=utf8 init_connect='SET NAMES utf8' # 執行 show variables like 'char%'; 可驗證編碼 default-storage-engine=INNODB # 某些版本必須指定,否則 1067 basedir=E:\MYSQL\mysql-5.6.23-winx64 datadir=E:\MYSQL\mysql-5.6.23-winx64\data [client] default-character-set=utf8 port=3306 [mysql] default-character-set=utf8 port=3306
| 參數 | 作用 | 避坑說明 |
|---|---|---|
character-set-server=utf8 | 伺服端預設字元集 | **不可**寫 default-character-set=utf8 在 [mysqld] 區塊,會直接導致 1067 |
init_connect='SET NAMES utf8' | 連線自動設定字元集 | 確保客戶端連線即以 UTF-8 通訊 |
default-storage-engine=INNODB | 預設儲存引擎 | 部分版本預設 MyISAM 會導致 1067,強制指定 InnoDB |
basedir/datadir | 安裝與資料目錄 | **必須使用絕對路徑**,且 datadir 目錄需存在且可寫入 |
cd /d E:\MYSQL\mysql-5.6.23-winx64\bin mysqld --install MySQL --defaults-file="E:\MYSQL\mysql-5.6.23-winx64\my-default.ini" net start mysql
mysql -u root -p(預設密碼空,直接 Enter)mysql 資料庫:USE mysql;
SELECT Host, User, Password FROM user;
-- 刪除匿名帳號(Host='localhost', User='')
DELETE FROM user WHERE User='';
-- 設定 root 密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('111');
UPDATE user SET Password=PASSWORD('111') WHERE User='root';
FLUSH PRIVILEGES;
mysql -u root -p111 # 注意:-p 後**直接接密碼無空格** # 錯誤寫法:mysql -u root -p 111 (會把 111 當資料庫名)
net stop mysqldatadir 下所有**非目錄檔案**(ibdata1, ib_logfile*, *.err, *.pid 等)net start mysql(MySQL 會自動初始化乾淨的系統表空間)
NAVH-WK6A-DMVK-DKW3
1067 錯誤 90% 由 my.ini 中 [mysqld] 區塊使用 default-character-set 或 default-storage-engine 缺失引起。套用本文模板、清理 data 目錄重啟、正確設定密碼格式,可一次解決啟動失敗與亂碼問題。