我在本地WAMP服务器上有一个WordPress网站。但当我上传它的数据库到活服务器,我得到错误

#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’

任何帮助都将不胜感激!


当前回答

对我来说,这是我的 新服务器运行MySQL 5.5, 旧服务器运行的是MySQL 5.6。 因此,当我试图导入我从旧服务器导出的.sql文件时,我得到了这个错误。

MySQL 5.5不支持utf8mb4_unicode_520_ci,但是 MySQL 5.6可以。

在新的服务器上更新到MySQL 5.6解决了整理错误!

如果你想保留MySQL 5.5,你可以: -复制导出的.sql文件 -替换utf8mb4unicode520_ci和utf8mb4_unicode_520_ci实例 ...与utf8mb4_unicode_ci -导入更新后的.sql文件。

其他回答

在我的例子中,我像这样用sed替换utf8_general_ci:

sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' MY_DB.sql 
sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' MY_DB.sql 

之后,我就可以导入了。

移除“520_” utf8mb4_unicode_520_ci→utf8mb4_unicode_ci

虽然有点晚了,但以防WORDPRESS安装出现这种情况:

#1273 -未知排序:'utf8mb4_unicode_520_ci

在phpmyadmin中,导出方法>格式特定选项(自定义导出)

设置为:MYSQL40

如果你现在尝试导入,你现在可能会得到另一个错误消息:

1064 -你的SQL语法错误;…

这是因为在MySQL 5.5中,与ENGINE同义的旧TYPE选项被删除了。

打开.sql文件,搜索并替换所有实例

从TYPE=到ENGINE=

现在导入应该很顺利了。

很奇怪,所有的答案都建议替换排序规则。这是一个非常糟糕的做法,因为您希望使用与开发中的和生产中的相同的MySQL版本。因此,您本地的mysql服务器应该是相同的。

首先,执行查询SHOW COLLATION以检查服务器支持的所有排序规则。如果你使用xampp或其他类似的工具来启动你的服务器,它可能是附带的maria db服务器而不是mysql服务器。

你应该做的是用真正的mysql替换你当前的mysql(实际上是mariadb)。

所以你要做的就是用mysql服务器替换你的maria db服务器。

1273 -未知排序:'utf8mb4_0900_ai_ci'

在我的情况下,我无法导入DB使用

ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci;

and

ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;

两者都有。但是在.SQL文件中将其更改为这样就解决了这个问题

ENGINE=InnoDB DEFAULT CHARSET=latin1;

更新

使用'utf8mb4_general_ci'解决了这个问题

ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;