修改排序规则未生效

【 TiDB 使用环境】生产环境
753
【复现路径】做过哪些操作出现的问题
mysql> set global collation_connection=‘utf8mb4_general_ci’;
Query OK, 0 rows affected (0.36 sec)

mysql> show variables like ‘%coll%’;
±--------------------------------------±-------------------+
| Variable_name | Value |
±--------------------------------------±-------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_bin |
| collation_server | utf8mb4_general_ci |
| default_collation_for_utf8mb4 | utf8mb4_general_ci |
| tidb_enable_collect_execution_info | ON |
| tidb_hash_exchange_with_new_collation | ON |
±--------------------------------------±-------------------+
6 rows in set (0.20 sec)
【遇到的问题:问题现象及影响】
【没有生效,会话修改可以生效

你需要退出当前会话,然后重新登录就生效了,set global只对新增会话生效,set session对当前会话立即生效

set global 重新建立连接才可以用到新修改的值,退出重新登录看看吧

我就是退出重进也是不行的

set之后你重新进入一个会话,然后你新建一个表指定一下。再看看这个表的排序

show global variables like “%col%”,这样看下

这一样啊,查出结果一样

show config where name like ‘%new_collations_enabled_on_first_bootstrap%’; 看下这个参数呢

new_collations_enabled_on_first_bootstrap | true

default_collation_for_utf8mb4 可以改这个参数试一下

测试下,也没改成功
和客户端,字符集都有关系

TiDB 的一些全局变量在修改后可能不会立即生效,尤其是涉及字符集和排序规则的变量。可以尝试重启 TiDB 实例,使配置更改生效。

1 个赞

直接试下排序效果就行了呗

试了一下,没有用
只有设置session级别才生效

  1. 确认权限。
  2. 使用 SET SESSION collation_connection='utf8mb4_general_ci'; 来验证会话级别的修改是否生效。
  3. 重启 TiDB 服务后,再次检查全局设置是否正确应用。
  4. 查看 TiDB 的日志文件,查找任何可能的错误信息。
1 个赞