首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MySQL 配置文件 my.ini 不生效的排查與修正

     編輯:程式設計疑難解答

現象

修改 `my.ini` 後重啟 MySQL 服務,配置 (如字符集) 不生效。

常見原因

  1. 文件名/位置錯誤:MySQL 讀取順序:
    Windows: `C:\my.ini` → `C:\Windows\my.ini` → 安裝目錄 `my.ini` → `my-default.ini`。
    若多處存在,**第一個被讀取的生效**,其餘忽略。
  2. 節點名錯誤:配置必須在正確節點下,如 `[mysqld]` (服務端)、`[client]` (客戶端)。
  3. 編碼/格式問題:文件需為 UTF-8 無 BOM 或 ANSI,行尾換行符正確。
  4. 未真正重啟服務:需以管理員身份 `net stop mysql` / `net start mysql`,或服務管理器重啟。

修正步驟

  1. 刪除/重命名系統盤多餘 `my.ini`,僅保留安裝目錄下的。
  2. 確保安裝目錄 `my.ini` 內容:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 其他配置...
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
  1. 以管理員身份重啟服務:`net stop mysql && net start mysql`。
  2. 驗證:`mysql -e "SHOW VARIABLES LIKE 'character_set%';"`。

提問者方案

將 `my-default.ini` 重命名為 `my.ini` 放入安裝根目錄,在 `[mysqld]` 下加入 `character-set-server=utf8`,問題解決。

補充:MySQL 8.0+ 推薦 utf8mb4

`utf8` 實為 `utf8mb3`,僅支援 BMP 字符,**生產環境請用 `utf8mb4`** 完整支援 Emoji 等補充字符。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved