Bug 反馈
清晰准确地描述您发现的问题,提供任何可能复现问题的步骤有助于研发同学及时处理问题
【 TiDB 版本】v8.5.1
【 Bug 的影响】
MySQL 5.7 迁移到TiDB的表字符集和原始表不一致, 原始表为utf8_general_ci , 迁移到TiDB后为utf8_bin, 导致两边select 结果不一样。
【可能的问题复现步骤】
MySQL 5.7 建表
CREATE TABLE t2025032501
(
id
int(11) NOT NULL,
name
varchar(255) DEFAULT NULL,
c_int
int(11) NOT NULL,
c_varchar
varchar(20) NOT NULL,
c_int2
int(11) NOT NULL,
c_varchar2
varchar(20) NOT NULL,
c_int1
int(11) DEFAULT NULL,
sfsfsdfsd
varchar(10) DEFAULT NULL,
PRIMARY KEY (id
) /*T![clustered_index] CLUSTERED */,
KEY indx_1
(c_int1
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
使用dm 迁移到TIDB为
CREATE TABLE t2025032501
(
id
int(11) NOT NULL,
name
varchar(255) DEFAULT NULL,
c_int
int(11) NOT NULL,
c_varchar
varchar(20) NOT NULL,
c_int2
int(11) NOT NULL,
c_varchar2
varchar(20) NOT NULL,
c_int1
int(11) DEFAULT NULL,
sfsfsdfsd
varchar(10) DEFAULT NULL,
PRIMARY KEY (id
) /*T![clustered_index] CLUSTERED */,
KEY indx_1
(c_int1
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8mb4_bin;
【看到的非预期行为】
CREATE TABLE t2025032501
(
id
int(11) NOT NULL,
name
varchar(255) DEFAULT NULL,
c_int
int(11) NOT NULL,
c_varchar
varchar(20) NOT NULL,
c_int2
int(11) NOT NULL,
c_varchar2
varchar(20) NOT NULL,
c_int1
int(11) DEFAULT NULL,
sfsfsdfsd
varchar(10) DEFAULT NULL,
PRIMARY KEY (id
) /*T![clustered_index] CLUSTERED */,
KEY indx_1
(c_int1
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8mb4_bin;
【期望看到的行为】
CREATE TABLE t2025032501
(
id
int(11) NOT NULL,
name
varchar(255) DEFAULT NULL,
c_int
int(11) NOT NULL,
c_varchar
varchar(20) NOT NULL,
c_int2
int(11) NOT NULL,
c_varchar2
varchar(20) NOT NULL,
c_int1
int(11) DEFAULT NULL,
sfsfsdfsd
varchar(10) DEFAULT NULL,
PRIMARY KEY (id
) /*T![clustered_index] CLUSTERED */,
KEY indx_1
(c_int1
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
【相关组件及具体版本】
【其他背景信息或者截图】
如集群拓扑,系统和内核版本,应用 app 信息等;如果问题跟 SQL 有关,请提供 SQL 语句和相关表的 Schema 信息;如果节点日志存在关键报错,请提供相关节点的日志内容或文件;如果一些业务敏感信息不便提供,请留下联系方式,我们与您私下沟通。
TiDB utf8/utf8mb4 的默认排序规则和MySQL不一致。
MySQL为 utf8_general_ci/utf8mb4_general_ci
TiDB 为 utf8_bin/utf8mb4_bin