RDS MySQL如何修改为utf8mb4字符集

本文介绍如何修改RDS MySQL字符集。

操作步骤

  1. 通过命令行、客户端连接RDS MySQL实例

  2. SQL窗口使用如下命令修改RDS MySQL数据库字符集。

    修改库:    
    ALTER DATABASE <数据库名> CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
    修改表:
    ALTER TABLE <表名> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    修改一列:
    ALTER TABLE <表名> CHANGE <列名> <字段类型> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    说明

    修改客户端字符集的操作,请参见RDS MySQL如何保证数据库字符编码正确

常见问题

Q:数据库报错“Unsupported collation on string indexed column XXX.Consider change to other collation”该如何解决?

A:该问题是用户在对字符串索引列进行操作时,该列可能不支持某些的collation,建议查看并修改当前列的collation,操作如下:

  1. 查找当前列的排序规则。

    SHOW FULL COLUMNS FROM <表名>;
  2. 更改列的排序规则。

    ALTER TABLE <表名> CHANGE <列名> <字段类型> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;