导入数据库时出现:
Unknown collation: ‘utf8mb4_0900_ai_ci’
CREATE TABLE cache_data
( cache_key
varchar(40) NOT NULL, cache_value
longtext, PRIMARY KEY (cache_key
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
针对您遇到的 #1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
错误,这个错误通常是因为您的MySQL版本不支持utf8mb4_0900_ai_ci
这个校对规则。这个校对规则是在MySQL 8.0.0及以上版本中引入的。以下是几种解决方案:
- 更改字符集排序规则:您可以将
utf8mb4_0900_ai_ci
更改为MySQL 8.0.0以下版本支持的字符集排序规则,例如utf8mb4_general_ci
。修改您的SQL语句如下:
CREATE TABLE `cache_data` (
`cache_key` varchar(40) NOT NULL,
`cache_value` longtext,
PRIMARY KEY (`cache_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
这种方法不需要您改变MySQL版本,只需更改表的校对规则即可。
- 升级MySQL版本:如果可能,您可以考虑升级您的MySQL版本到8.0.0或更高版本,这样就能直接支持
utf8mb4_0900_ai_ci
校对规则。 - 修改数据库配置文件:如果您无法更改字符集排序规则或升级MySQL版本,您可以尝试修改MySQL配置文件,启用
utf8mb4_0900_ai_ci
排序规则。在MySQL配置文件中添加以下配置:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
然后重启MySQL服务以使配置生效。
请根据您的实际情况选择适合的解决方案。如果您选择升级MySQL版本或修改配置文件,请确保在操作前备份好数据,以防止数据丢失。