Aurora MySQL到Percona MySQL复制因排序规则不兼容失败排查
问题:Aurora MySQL 5.7.12 向 Percona MySQL 5.7.35 复制时的字符集排序规则异常
我正尝试将运行5.7.12版本的Aurora MySQL实例的数据复制到运行Percona MySQL 5.7.35的数据库中,遇到以下异常:
- 目标表字符编码设为
utf8且未指定排序规则,两端执行SHOW TABLE STATUS均显示该表排序规则为utf8_general_ci - 复制失败,报错信息:
Last_SQL_Error: Error 'Character set '#255' is not a compiled character set
- 经查询,排序规则ID 255 对应
utf8mb4_0900_ai_ci,相关结果如下:
| utf8mb4_0900_ai_ci | utf8mb4 | 255 | | Yes | 0 |
- 该错误通常出现在MySQL 8.0向5.7版本复制的场景,但本次是同大版本(5.7)间的复制
- Aurora端无任何变量配置为
utf8mb4:
mysql> show variables where value like '%utf8mb4%'; Empty set (0.00 sec)
- Aurora的排序规则和字符集参数组变量未做自定义设置,即便表使用utf8mb4排序规则,系统默认也应为
utf8mb4_general_ci(ID 45):
mysql> show collation where charset = 'utf8mb4'; +----------------------------+---------+-----+---------+----------+---------+ | Collation | Charset | Id | Default | Compiled | Sortlen | +----------------------------+---------+-----+---------+----------+---------+ | utf8mb4_general_ci | utf8mb4 | 45 | Yes | Yes | 1 | +----------------------------+---------+-----+---------+----------+---------+
请问Aurora为何会将该表的排序规则识别为utf8mb4_0900_ai_ci?
内容的提问来源于stack exchange,提问作者cbmanica
相关产品推荐
相关产品推荐

