首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 5.5 字符集配置遷坑指南:default-character-set 已廢棄

     編輯:MySQL 綜合教學

錯誤現象

MySQL 5.5 啟動報錯:


[ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'

根因

MySQL 5.5 移除了 default-character-set 參數,改為分層配置:

  • 伺服器端:character-set-server
  • 客戶端:default-character-set(僅在 [client]/[mysql] 區塊)

正確 my.cnf 配置


[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
# 其餘參數...

驗證生效


mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

進階建議:直接上 utf8mb4


[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
  • 支援 Emoji、生僻字(4 字節 UTF-8)。
  • 5.5.3+ 完全支援,無相容性負擔。
  • 應用層連接串同步設定 characterEncoding=utf8mb4。

版本演進提醒

  • 5.1 及之前:[mysqld] default-character-set=utf8 生效。
  • 5.5+:必須拆分為 character-set-server / collation-server。
  • 8.0:預設即為 utf8mb4 / utf8mb4_0900_ai_ci。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved