MySQL 5.7升级至8.0时,如何解决排序规则不匹配问题?调整collation_server参数是关键。
- 内容介绍
- 文章标签
- 相关推荐
本文共计718个文字,预计阅读时间需要3分钟。
直接修改 + collation_server + 参数不能解决已存在的排序规则冲突,反而可能隐藏问题、引发新错误。 它只影响新连接的默认 collation,对已有表、字段、查询中的隐式比较无作用——你看到的 Illegal mix of collations 错误根本不会因此消失。
为什么改 collation_server 是治标不治本
MySQL 8.0 的 collation_server 默认是 utf8mb4_0900_as_cs(或 _ai_ci),但这个值只在连接初始化时用于设置 collation_connection,且仅当客户端没显式声明 collation 时才生效。
本文共计718个文字,预计阅读时间需要3分钟。
直接修改 + collation_server + 参数不能解决已存在的排序规则冲突,反而可能隐藏问题、引发新错误。 它只影响新连接的默认 collation,对已有表、字段、查询中的隐式比较无作用——你看到的 Illegal mix of collations 错误根本不会因此消失。
为什么改 collation_server 是治标不治本
MySQL 8.0 的 collation_server 默认是 utf8mb4_0900_as_cs(或 _ai_ci),但这个值只在连接初始化时用于设置 collation_connection,且仅当客户端没显式声明 collation 时才生效。

