我在本地WAMP服务器上有一个WordPress网站。但当我上传它的数据库到活服务器,我得到错误
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
任何帮助都将不胜感激!
我在本地WAMP服务器上有一个WordPress网站。但当我上传它的数据库到活服务器,我得到错误
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
任何帮助都将不胜感激!
当前回答
经过一番调查,我发现在目标服务器上运行的MySQL服务器的版本比源服务器的版本要旧。因此,我们知道目标服务器不包含所需的数据库排序规则。
然后我们在备份文件中做一点调整来解决这个问题。在文本编辑器中编辑数据库备份文件(your_sql_file.sql),将utf8mb4_0900_ai_ci替换为utf8mb4_general_ci,将CHARSET=utf8mb4替换为CHARSET=utf8。
我希望这个解决方案能帮助到你。
其他回答
我只是删除了COLLATE和其他属性,只留下了ENGINE。 像下面这样
来自:
ENGINE=InnoDB AUTO_INCREMENT=429 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
TO:
ENGINE=InnoDB;
这对我来说很有效。
移除“520_” utf8mb4_unicode_520_ci→utf8mb4_unicode_ci
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;
此错误是由于MySQL不同版本的冲突引起的。要解决这个问题:
在任何文本编辑器中打开sql文件 用utf8mb4_unicode_ci替换所有utf8mb4_0900_ai_ci 保存并尝试新的mySql db文件
之后再试一次,对我来说很好
很奇怪,所有的答案都建议替换排序规则。这是一个非常糟糕的做法,因为您希望使用与开发中的和生产中的相同的MySQL版本。因此,您本地的mysql服务器应该是相同的。
首先,执行查询SHOW COLLATION以检查服务器支持的所有排序规则。如果你使用xampp或其他类似的工具来启动你的服务器,它可能是附带的maria db服务器而不是mysql服务器。
你应该做的是用真正的mysql替换你当前的mysql(实际上是mariadb)。
所以你要做的就是用mysql服务器替换你的maria db服务器。