我在本地WAMP服务器上有一个WordPress网站。但当我上传它的数据库到活服务器,我得到错误
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
任何帮助都将不胜感激!
我在本地WAMP服务器上有一个WordPress网站。但当我上传它的数据库到活服务器,我得到错误
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
任何帮助都将不胜感激!
当前回答
我只是删除了COLLATE和其他属性,只留下了ENGINE。 像下面这样
来自:
ENGINE=InnoDB AUTO_INCREMENT=429 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
TO:
ENGINE=InnoDB;
这对我来说很有效。
其他回答
查找和替换:
utf8mb4_unicode_520_ci
with
utf8_general_ci
在整个SQL文件中
虽然有点晚了,但以防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服务器。
简单的替换
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
使用sed命令直接替换文件中的文本
Linux OS
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_general_ci/g' YOUR_SQL_FILE.sql
苹果操作系统
sed -i '' s/utf8mb4_unicode_520_ci/utf8mb4_general_ci/g' YOUR_SQL_FILE.sql
这个命令的帮助下,我在第51行修复了错误1273 (HY000):未知排序:'utf8mb4_0900_ai_ci'