首批通过分布式安全可靠测评,为关键业务系统打造
MySQL 命令行工具里 default-character-set 参数在 V2.x、V3.x 不生效的原因与解决方法
更新时间:2026-06-03 03:01
问题现象
使用如下方式连接 OceanBase 集群 MySQL 租户,通过 default-character-set 指定字符集,登录成功之后再执行 show variables like '%char%' 查看字符集,预期 character_set_client 和 character_set_connection 应该变成 gdk,但是实际是 utf8mb4 。
问题原因
在 OceanBase 数据库 V2.x 和 V3.x 版本的集群中,OceanBase 内部在处理此类连接时,并没有处理其中的字符集配置,所以即使配置了 default-character-set 依然不生效。目前在 OceanBase 数据库 V4.x 版本中可以正常处理,因此在 OceanBase 数据库 V4.x 版本中如果使用此类方式连接,则 character_set_client 和 character_set_connection 会变为 gbk 。
问题的风险及影响
影响 OceanBase 数据库中的 SYS 租户,Oracle 租户以及 MySQL 租户。
说明
无实际影响
适用版本
OceanBase 数据库 V2.x 和 V3.x 版本。
解决方法
登录成功后,单独执行如下命令修改:
set character_set_client=gbk;
set character_set_connection=gbk;