数据库导入出现Unknown collation: ‘utf8mb4_0900_ai_ci’原因

导入数据库时出现:

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及以上版本中引入的。以下是几种解决方案:

  1. 更改字符集排序规则:您可以将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版本,只需更改表的校对规则即可。

  1. 升级MySQL版本:如果可能,您可以考虑升级您的MySQL版本到8.0.0或更高版本,这样就能直接支持utf8mb4_0900_ai_ci校对规则。
  2. 修改数据库配置文件:如果您无法更改字符集排序规则或升级MySQL版本,您可以尝试修改MySQL配置文件,启用utf8mb4_0900_ai_ci排序规则。在MySQL配置文件中添加以下配置:
   [mysqld]
   character-set-server=utf8mb4
   collation-server=utf8mb4_0900_ai_ci

然后重启MySQL服务以使配置生效。

请根据您的实际情况选择适合的解决方案。如果您选择升级MySQL版本或修改配置文件,请确保在操作前备份好数据,以防止数据丢失。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
在线客服
云加速客服
哈喽,欢迎光临云加速!
2024-12-26 19:32:52
您好,有什么需要帮助的吗?
您的工单我们已经收到,我们将会尽快跟您联系!
[业务咨询]
176363189
业务咨询
[紧急咨询]
17307799197
[投诉建议]
sudu@yunjiasu.cc
取消

选择聊天工具: