Tidb v6.0 Collation能否改为mysql 8.0的collation

tidb v6.0以上使用的排序规则可以更改为MySql8.0的排序规则吗,查了下官方文档没有找到修改方式。如下图能将tidb默认Collation改为utf8mb4_0900_ai_ci吗

看发版记录,在v2的时候就支持了。

为数据库指定字符集和排序规则可以采用这种方式
https://docs.pingcap.com/zh/tidb/stable/character-set-and-collation#数据库的字符集和排序规则

2 个赞

1 个赞

好的,感谢大佬,我试验一下

:handshake: :handshake: :handshake:

1 个赞

大佬,是这样的,我在v6.5.0的环境下尝试了下,提示是不支持的


不是这么理解的,tidb 是支持默认的字符集模式,支持多种排序方式。

可以用默认的字符集模式写入,然后选择不同的排序方式,排序的方式可设定…

可以参考下专栏的文档:

2 个赞

https://github.com/tikv/tikv/issues/15328

这个支持今年8月14日才做好。你用的6.0版本应该还是不支持的。

3 个赞

感谢大佬,看了您发的文档,v6.x暂时还不支持utf8mb4_0900_ai_ci

  • 在创建数据库或表时,可以使用 DEFAULT COLLATE 子句来指定默认的排序规则。
  • 在执行 SQL 语句时,可以使用 COLLATE 子句来指定某个字段或表达式的排序规则。
  • 在连接 TiDB 服务器时,可以使用 collation_servercollation_connection 参数来设置服务器端和客户端的排序规则。
ALTER DATABASE test DEFAULT COLLATE utf8mb4_0900_ai_ci;
SELECT * FROM users ORDER BY name COLLATE utf8mb4_0900_ai_ci;
mysql -h tidb-server -u root -p --collation-server=utf8mb4_0900_ai_ci --collation-connection=utf8mb4_0900_ai_ci
1 个赞

大佬,按您给的方式,试验了一下,不能支持的。


:astonished:那那个v2的修改记录怎么理解?不是那个意思么?

1 个赞

https://github.com/pingcap/tidb/pull/10201/files

看修改的test内容,我感觉当时确实是支持了的。后来可能是因为什么改动失效了。然后也重新支持了。

1 个赞

:joy:这就有点尴尬了,我还以为我误导他了。

2 个赞

那么老的版本 :rofl:

不算误导吧,后来的版本还是回归了… 这不是马上又要支持了么 :melting_face: :melting_face: :melting_face:

1 个赞

不能,等最新版本

1 个赞

大佬,部署的时候,tikv节点磁盘都要使用ext4文件系统格式。那tidb server和pd节点磁盘也要使用ext4文件系统格式吗?我看官方标准部署里,只说明了tikv所需要的文件系统格式。感谢大佬解答。

tidb server和pd节点没有要求,因为tikv节点读写频繁,所以对文件系统格式做了要求。

1 个赞