从一网站导出数据到另一个网站,同样的数据,同样的代码,竟然,老提示语法出错。
原因:数据库版本差异,导致wordpress数据库的编码整理方式不一样。
MySQL 5.6 以及以上版本下,安装 WordPress 4.6 及以上版本的时候,默认的编码整理方式为 utf8mb4_unicode_520_ci,但是 MySQL 5.5 及以下版本的数据库,不支持 utf8mb4_unicode_520_ci,所以无法导入。
处理的办法,就是使用 sublime text 等代码编辑器,打开 .sql 数据库,然后批量查找替换所有的 utf8mb4_unicode_520_ci 为 utf8mb4_unicode_ci ,保存后上传即可。
例如:特别是在早期使用emlog的网站特别注意。
CREATE TABLE wp4x_commentmeta
(
meta_id
bigint(20) UNSIGNED NOT NULL,
comment_id
bigint(20) UNSIGNED NOT NULL DEFAULT '0',
meta_key
varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
meta_value
longtext COLLATE utf8mb4_unicode_520_ci
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;