MySQL 5.6.25 Windows 安裝包不再直接提供 my.ini,僅含 my-default.ini 模板。初次使用者常遇到:找不到設定檔、字元集無法生效、匯入大 SQL 報 Packet bigger than max_allowed_packet。本文提供針對性解決方案。
copy my-default.ini my.ini
之後只修改 my.ini,my-default.ini 保留為參考模板。
[mysqld] character_set_server = utf8 sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # 關鍵:新增 [client] 區塊確保客戶端協商一致 [client] port = 3306 default-character-set = utf8
注意:寫 utf8 而非 utf-8,行尾無分號。儲存後重啟 MySQL 服務(服務管理器 → MySQL → 重新啟動)。
mysql> SHOW VARIABLES LIKE 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+----------------------------+
全部顯示 utf8 即成功。
預設 max_allowed_packet = 4MB,大批次 INSERT/長 BLOB 超過限制導致連線中斷。
[mysqld] max_allowed_packet = 20M # 或更大,視最大 SQL 批次而定
同樣需重啟服務生效。
mysql> SHOW VARIABLES LIKE 'max_allowed_packet'; +--------------------+-----------+ | Variable_name | Value | +--------------------+-----------+ | max_allowed_packet | 20971520 | -- 20M = 20971520 bytes +--------------------+-----------+
若值非 4194304 (4MB) 即生效。
為防未來升級/覆蓋導致設定遺失,建議同步編輯 my-default.ini 保持一致。
my.ini(由 my-default.ini 複製)[mysqld] 設定 character_set_server=utf8[client] 設定 default-character-set=utf8[mysqld] 設定 max_allowed_packet=20M (或更大)SHOW VARIABLES LIKE 'char%' 與 SHOW VARIABLES LIKE 'max_allowed_packet' 驗證生效三步配置,解決 Windows MySQL 5.6 初始化最常見的三大痛點,讓開發環境即刻就緒。