ERROR 1273 (HY000) at line 33: Unknown collation: ‘utf8mb4_0900_ai_ci‘
这是因为你在 MySQL 8.0+ 的 staging 环境导出了 SQL 文件,其中包含了 MySQL 8 特有的字符排序规则(collation):utf8mb4_0900_ai_ci,而你本地环境可能是 MySQL 5.7 或更低版本,它并不支持这种 collation。
解决方案一:升级本地 MySQL 至 8.0+
最彻底的方式是将本地的 MySQL 升级到和 staging 一样的版本,比如 MySQL 8.0.x,这样所有 collation 都能兼容。
解决方案二:修改导出的 .sql 文件,替换 collation
你可以手动或自动把 .sql 文件中的 utf8mb4_0900_ai_ci 改成 utf8mb4_general_ci(或其他你本地支持的 collation)。
验证本地支持哪些 collation
你可以在本地执行以下 SQL 来确认你支持哪些 collation:
SHOW COLLATION WHERE Charset = 'utf8mb4';
输出中你能看到你 MySQL 支持的全部 utf8mb4_* 排序规则,比如:
utf8mb4_general_ci
utf8mb4_unicode_ci
utf8mb4_bin
如果没有 utf8mb4_0900_ai_ci,就说明你本地 MySQL 版本较低。