最新消息:觉得本站不错的话 记得收藏哦 博客内某些功能仅供测试 讨论群:135931704 快养不起小站了 各位有闲钱就打赏下把 My Email weicots#gmail.com Please replace # with @

wordpres 导入数据错误mysql 1273 – Unknown collation:’utf8mb4_unicode_ci’ Variable ‘sql_notes’ can’t be ……

PHP ajiang-tuzi 5069浏览

wordpress网站转移服务器,通过DMS[备注1]导入sql数据时出现错误,错误提示:

错误一

MySQL返回:
#1273 – Unknown collation:’utf8mb4_unicode_ci’

大致意思是“没有定义的编码集utf8mb4”。搜索查询后发现utf8mb4是utf8的一个衍生形式,utf-8里的一个字符只能最多支持3个字节,而utf8mb4则扩展到一个字符支持4个字节。而utf8mb4只有在mysql数据库版本是5.5.3+的时候才支持,网站原mysql的版本是5.6,导入的mysql版本是5.0,因此出现#1273错误。
wordpress导入数据错误MySQL返回:#1273
wordpress官方的相关说明是只要在数据库支持utf8mb4的时候会把部分数据表的编码升级为utf8mb4,如果不支持就不会转化为utf8mb4编码(wordpress 4.4版本支持mysql 5.0+)。

解决方法:

方法一:替换编码

准备工作:备份好数据
1.使用代码编辑器打开导出的sql数据文件;
2.先查找: utf8mb4_unicode_ci 替换为: utf8_general_ci
3.再查找 utf8mb4 替换为 utf8
注意:一定要按照上面的顺序进行替换,否则不能替换成功。

方法二

把网站要用的mysql数据库升级到5.5.3以上版本。

错误二

执行的SQL语句出错:
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */
错误信息:Variable ‘sql_notes’ can’t be set to the value of ‘NULL’

方法一

删除掉那几段注释段注释 /* 错误行 以下的注释 */ 错误行以下的代码 手工执行

方法二 待考证

错误信息是说sql_notes不能设置为null值,登录检查如下
mysql> select @@sql_notes;
+————-+
| @@sql_notes |
+————-+
| 1 |
+————-+
1 row in set (0.00 sec)
解释:
SQL_NOTES = {0 | 1}
当设置为1时(默认情况),“注意”一级的警报被记录下来。当设置为0时,“注意”警告被压制。Mysqldump包含输出,用于把此变量设置为0,这样,对于不会影响重新载入操作整体性的事件,重新载入转储文件时不会产生警告
解决:
mysql> set @@sql_notes = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@sql_notes;

备注1:DMS 阿里云数据库在线管理工具

转载请注明:(●--●) Hello.My Weicot » wordpres 导入数据错误mysql 1273 – Unknown collation:’utf8mb4_unicode_ci’ Variable ‘sql_notes’ can’t be ……

蜀ICP备15020253号-1