【发布时间】:2021-06-22 19:21:30
【问题描述】:
我一直在 Linux 上运行 mysql,但上周我在我的 Windows 10 笔记本电脑上安装了 mysql。 我已将默认字符集和排序规则设置如下:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
这似乎有效,当我创建一个没有指定这些的数据库时,数据库的字符集和排序规则似乎是正确的。
但是,当我将任何 SQL 导入该数据库时,所有表突然都有排序规则“utf8mb4_0900_ai_ci”。 尽管这对我来说很好(因为这是一个很好的排序规则),但与我一起工作的人无法使用该排序规则。
过程
我在我的 Linux vm 上从命令行创建了一个 mysqldump。该数据库也在我的 Linux 虚拟机上运行。
当前字符集是带有排序规则“utf8_general_ci”的“utf8”。
转储文件本身似乎不包含排序信息。
然后我通过我的 Linux 命令行(连接到 10.10.10.1)将该文件导入 mysql(在我的 Windows 安装上运行)。
那么:为什么 mysql 使用该排序规则,而我另有说明?
【问题讨论】:
-
如何进行“SQL 导入”?导入文件是否包含排序规则定义?
-
好问题。导入文件似乎不包含排序规则定义。我现在在帖子中添加了我的流程。
标签: mysql