全部產品
Search
文件中心

ApsaraDB RDS:RDS for MySQL字元集相關說明

更新時間:Jun 20, 2025

字元序命名規則

以字元序對應的字元集名稱開頭,以 _ci(大小寫不敏感)、_cs(大小寫敏感)、_bin(按編碼值比較,大小寫敏感)結尾。

例如:當會話的collation_connection設定為字元序utf8_general_ci時,字元a和字元A是等價的;而當其設定為utf8_bin 時,字元a和字元A是不等價的。

請參考以下樣本:

字元集相關 MySQL 命令

show global variables like '%char%';    #查看RDS執行個體字元集相關參數設定
show global variables like 'coll%';     #查看當前會話字元序相關參數設定
show character set;                     #查看執行個體支援的字元集
show collation;                         #查看執行個體支援的字元序
show create table table_name \G         #查看錶字元集設定
show create database database_name \G   #查看資料庫字元集設定
show create procedure procedure_name \G #查看預存程序字元集設定
show procedure status \G                #查看預存程序字元集設定
alter database db_name default charset utf8;  #修改資料庫的字元集
create database db_name character set utf8;   #建立資料庫時指定字元集
alter table tab_name default charset utf8 collate utf8_general_ci;   #修改表字元集和字元序

樣本如圖:

控制台修改字元集參數(character_set_server)的方法

重要

修改參數character_set_server需要重啟執行個體,建議在業務低峰期進行操作。

操作步驟

  1. 登入RDS管理主控台

  2. 在頁面左上方,選擇執行個體所在地區。選擇地區

  3. 找到目標執行個體,單擊執行個體ID。

  4. 在左側導覽列中單擊參數設定

  5. 可修改參數頁簽下尋找到character_set_server,單擊右側進行修改並單擊確定修改character_set_server參數

  6. 在右上方單擊提交參數,在彈出的對話方塊中單擊確定,等待執行個體重啟。

    說明

    該參數修改後,僅對開啟高許可權帳號的執行個體後來建立的資料庫有效,對當前資料庫無效。

使用SQL語句修改資料庫字元集的方法

文法如下:

修改庫:ALTER DATABASE <庫名> CHARACTER SET  <字元集名稱> COLLATE  <定序名稱>;
修改表:ALTER TABLE <表名> CONVERT TO CHARACTER SET <字元集名稱>  COLLATE  <定序名稱>;
修改一列:ALTER TABLE <表名> MODIFY <列名>  <欄位類型> CHARACTER SET  <字元集名稱>  COLLATE <定序名稱>;

樣本: 三條sql 分別將庫dbsdq、表tt2 、表tt2中的c2列修改為utf8mb4 字元集,命令如下:

alter database dbsdq character set utf8mb4 collate utf8mb4_unicode_ci;
use dbsdq;
alter table tt2 convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table tt2 modify c2  varchar(10) character set utf8mb4 collate utf8mb4_unicode_ci;
說明
  • 修改列時,當前列中的所有行都會立即轉化為新的字元集。

  • alter table會對錶加中繼資料鎖(metadata lock)。

  • 如果需要指定字元集,則需要單獨修改,否則會跟隨預設設定的全域伺服器層級字元集。字元集的設定有四級:伺服器級、資料庫級、表級、欄位級。前三種均為預設設定,建議用SHOW CREATE TABLE tableName; SHOW FULL FIELDS FROM tableName; 來檢查當前表中欄位的字元集設定。