我们在迁移网站时,从一台服务器使用phpMyAdmin导出数据库后,到新服务器使用phpMyAdmin导入时出现了“#1273-Unknown collation:’utf8mb4_0900_ai_ci’”错误提示,应该怎么办呢?
经过分析,我们发现,是因为新服务器上所使用的MySQL版本要比旧服务器上的MySQL版本要低,新服务器上的MySQL不包含所需要的数据库排序规则造成的。这种错误一般出现在从MySQL 8.0迁移到MySQL 5.x的情况下。
所以,想要解决导入MySQL数据库出现“#1273-Unknown collation:’utf8mb4_0900_ai_ci’”错误,我们只需要将新服务器上使用的MySQL升级到8.0(或跟旧服务器的MySQL版本一致)就可以正常导入了。
不过如果使用的是虚拟主机,或者因为其他原因不能升级MySQL数据库的话,我们只需要对数据库备份文件根据以下要求做一些调整,就可以解决这个问题。
使用文本编辑器(建议使用Notepad++编辑器或其他编辑器,不建议使用电脑自带的文本编辑器)打开数据库备份文件,将
utf8mb4_0900_ai_ci
替换为:
utf8_general_ci
接着将
utf8mb4
替换为:
utf8
保存文件之后,再重新操作导入数据库备份文件就可以。
如果是在macOS或者Linux环境下操作,可以使用下面的命令快速替换:
sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' backup.sql
sed -i 's/utf8mb4/utf8/g' backup.sql
执行上面的操作之后,数据库就可以正常导入成功了。
[本文來自 老薛主机帮助中心>> 导入 MySQL 数据库出现 #1273 错误的解决方法,转载请注明。]