问题描述

在迁移网站时,从一台服务器使用 phpMyAdmin 导出数据库后,到新服务器使用 phpMyAdmin 导入时出现了下面的错误提示:

#1273 - Unknown collation: 'utf8mb4_0900_ai_ci'

Xnip2023-01-09_19-43-54.png

问题分析

经过分析,我们发现,是因为新服务器上所使用的 MySQL 版本要比旧服务器上的 MySQL 版本要低,新服务器上的 MySQL 不包含所需要的数据库排序规则造成的。

这种错误一般出现在从 MySQL 8.0 迁移到 MySQL 5.x 的情况下。

所以,如果可以,我们只需要将新服务器上使用的 MySQL 升级到 8.0 就可以正常导入了。

但是,如果不能升级的话,我们这里再提供另外一种方式来解决这个问题。

解决方法

我们只需要对备份文件做一些调整,就可以解决这个问题。

使用文本编辑器打开数据库备份文件,将

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

执行上面的操作之后,数据库就可以正常导入成功了。

最后修改:2023 年 01 月 11 日
如果觉得我的文章对你有用,请随意赞赏