导入SQL备份文件遇ERROR 1273:未知排序规则utf8mb4_0900_ai_ci
问题:导入MySQL备份时提示
Unknown collation: 'utf8mb4_0900_ai_ci' 错误详情
11:29:12 正在恢复 E:\ews project\dumps\Dump20230525.sql
执行命令:mysql.exe --defaults-file="C:\Users\INP\AppData\Local\Temp\tmpz8kesn1f.cnf" --protocol=tcp --host=164.164.32.6 --user=root --port=3306 --default-character-set=utf8 --comments --database=practice < "E:\ews project\dumps\Dump20230525.sql"
ERROR 1273 (HY000) at line 25: Unknown collation: 'utf8mb4_0900_ai_ci'
操作失败,退出码1
11:29:14 E:\ews project\dumps\Dump20230525.sql导入完成,存在1个错误
已尝试操作
- 将备份文件中的
COLLATE=utf8mb4_ai_ci替换为COLLATE=utf8mb4_general_ci,但问题未解决
版本信息
备份文件及源服务器版本
- MySQL dump版本:10.13 Distrib 8.0.33, for Linux (x86_64)
- 源服务器版本:8.0.32-0ubuntu0.22.04.2
导入端版本
- MySQL Workbench版本:8.0.03 Distrib 8.0.33, for Windows (x86_64)
- 目标服务器版本:8.0.3-windows 11
解决方案
错误核心原因是utf8mb4_0900_ai_ci是MySQL 8.0.19及以上版本才支持的排序规则,而目标服务器版本为8.0.3,不具备识别该规则的能力。之前的替换操作未针对报错的具体规则,需调整替换逻辑:
- 用文本编辑器打开备份SQL文件,启用全局替换功能
- 将所有
utf8mb4_0900_ai_ci替换为目标服务器支持的utf8mb4排序规则,比如utf8mb4_general_ci或utf8mb4_unicode_ci - 保存修改后的文件,重新执行导入操作
额外注意:
- 若备份文件中包含其他高版本特有语法,需同步调整以适配目标服务器版本
- 若条件允许,将目标服务器MySQL版本升级至8.0.19以上是更彻底的解决方案
内容的提问来源于stack exchange,提问作者igneous spark
相关产品推荐
相关产品推荐

