collation-server = utf8mb4_general_ci
时间: 2023-08-19 07:09:15 浏览: 209
`collation-server` 是 MySQL 配置文件中的一个选项,用于设置服务器的字符集排序规则(collation)。在你提供的情况下,`utf8mb4_general_ci` 是一个常见的字符集排序规则,它适用于存储和比较使用 UTF-8 编码的多字节字符。
`utf8mb4_general_ci` 中的几个关键部分解释如下:
- `utf8mb4`: 表示字符集为 UTF-8,支持存储 4 字节的字符,包括一些特殊的表情符号。
- `general`: 表示排序规则是一般性的,不区分大小写(case-insensitive)。
- `ci`: 表示排序规则不区分重音符号(accent-insensitive)。
这个排序规则适合大多数场景,但在某些情况下可能需要根据具体需求进行调整。如果你有特定的排序要求,可以修改 MySQL 配置文件中的 `collation-server` 选项来设置其他的字符集排序规则。修改后,你需要重新启动 MySQL 服务使更改生效。
相关问题
2023-06-08T10:46:25.851539+08:00 0 [ERROR] [MY-000067] [Server] unknown variable 'collation_database=utf8mb4_general_ci;'. 正确的配置是什么
正确的配置应该是将 `collation_database` 的值设置为 `utf8mb4_general_ci`,不需要在后面加分号。在 MySQL 的配置文件中,可以在 `[mysqld]` 段中添加以下行来设置该变量:
```
[mysqld]
collation_database = utf8mb4_general_ci
```
请注意,这里只是设置了 `collation_database` 的值,并没有设置字符集编码,需要在 `[mysqld]` 段中添加 `character_set_server` 选项来设置字符集编码,例如:
```
[mysqld]
collation_database = utf8mb4_general_ci
character_set_server = utf8mb4
```
设置完成后,需要重启 MySQL 服务才能生效。
For key collation_server. Expected value utf8mb4_unicode_ci, found value utf8mb4_general_ci
这个错误提示表明在某个键的排序规则(collation)中,期望的值是utf8mb4_unicode_ci,但实际上找到的值是utf8mb4_general_ci。这可能是因为在修改MySQL配置文件时,没有正确地设置字符集和排序规则。可以尝试按照以下步骤解决这个问题:
1. 打开MySQL配置文件my.cnf或my.ini。
2. 确认在以下三个部分中都添加了如下内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
3. 重启MySQL数据库。
4. 检查MySQL变量,确保字符集和排序规则已经正确设置:
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
如果还是出现错误,可以尝试使用ALTER DATABASE和ALTER TABLE命令修改数据库和表的字符集和排序规则,例如:
mysql> ALTER DATABASE voice_reports_test CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
mysql> ALTER TABLE ZSCC_WRK_BSE_CKLCC CONVERT to CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;