我在本地WAMP服务器上有一个WordPress网站。但当我上传它的数据库到活服务器,我得到错误
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
任何帮助都将不胜感激!
我在本地WAMP服务器上有一个WordPress网站。但当我上传它的数据库到活服务器,我得到错误
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
任何帮助都将不胜感激!
当前回答
简单的替换
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
其他回答
查找和替换:
utf8mb4_unicode_520_ci
with
utf8_general_ci
在整个SQL文件中
对我来说,这是我的 新服务器运行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命令直接替换文件中的文本
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'
此错误是由于MySQL不同版本的冲突引起的。要解决这个问题:
在任何文本编辑器中打开sql文件 用utf8mb4_unicode_ci替换所有utf8mb4_0900_ai_ci 保存并尝试新的mySql db文件
之后再试一次,对我来说很好
经过一番调查,我发现在目标服务器上运行的MySQL服务器的版本比源服务器的版本要旧。因此,我们知道目标服务器不包含所需的数据库排序规则。
然后我们在备份文件中做一点调整来解决这个问题。在文本编辑器中编辑数据库备份文件(your_sql_file.sql),将utf8mb4_0900_ai_ci替换为utf8mb4_general_ci,将CHARSET=utf8mb4替换为CHARSET=utf8。
我希望这个解决方案能帮助到你。