一、目的
在海豚工作流中执行MySQL的.sql文件,结果报错:ERROR 1273 (HY000) at line 1: Unknown collation: 'utf8mb4_0900_ai_ci'
二、报错截图
三、原先.sql文件内容
四、报错原因分析
错误ERROR 1273 (HY000) at line 1: Unknown collation: 'utf8mb4_0900_ai_ci'通常发生在尝试使用MySQL数据库时,但你的 MySQL服务器版本不支持 utf8mb4_0900_ai_ci 这个排序规则(collation)。
utf8mb4_0900_ai_ci 是在 MySQL 5.7.20 及以上版本和 MySQL 8.0 中引入的,它支持更多的 Unicode 字符,包括一些新的 emoji 表情符号,并且具有更好的排序和比较特性。这里的 0900 表示 Unicode字符集版本,ai 表示大小写不敏感(accent insensitive),ci 表示大小写不敏感(case insensitive)
五、解决方法
1 升级 MySQL 服务器:
如果你的 MySQL 服务器版本低于 5.7.20 或 8.0,建议升级到支持 utf8mb4_0900_ai_ci 的版本。这是解决此问题的最直接方法。
2 更改排序规则:
如果你不能或不想升级 MySQL 服务器,你可以考虑使用其他支持的排序规则,如 utf8mb4_unicode_ci 或 utf8mb4_general_ci。这些排序规则在大多数 MySQL 版本中都可用,并且对于大多数应用来说已经足够。
修改数据库、表或列的排序规则,可以使用类似以下的 SQL 命令:
2.1 修改数据库排序规则
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2.2 修改表排序规则
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2.3 修改列排序规则
ALTER TABLE your_table_name CHANGE your_column_name your_column_name TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
注意:在修改排序规则之前,请确保备份你的数据,以防万一出现数据丢失或损坏的情况。
3 检查 MySQL 文档:
查看你的 MySQL 版本的官方文档,了解支持的排序规则列表。这可以帮助你决定使用哪个排序规则。
这里我使用的是第二种方法,即把.sql文件建表语句中的utf8mb4_0900_ai_ci换成utf8mb4_general_ci
六、新.sql文件内容
七、执行海豚任务流
解决了!!!