WordPress导入数据库报错Database: `数据库名`表的结构 `wp_commentmeta`

罗帆 草根站长 2019-10-08 1481 0

今天给WordPress网站搬家,发现导入数据库的时候报错,具体错误如下:


错误

SQL 查询:


--

-- Database: `数据库名`

--


-- --------------------------------------------------------


--

-- 表的结构 `wp_commentmeta`

--


CREATE TABLE IF NOT EXISTS `wp_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=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci


MySQL 返回:

#1273 - Unknown collation: 'utf8mb4_unicode_520_ci'


大概如下图所示:

MySQL报错.jpg

之所以报错的原因是因为数据库版本差异,导致wordpress数据库的编码整理方式不一样。MySQL 5.6 以及以上版本下,安装 WordPress 4.6 及以上版本的时候,默认的编码整理方式为 utf8mb4_unicode_520_ci,但是 MySQL 5.5 及以下版本的数据库,不支持 utf8mb4_unicode_520_ci,所以无法导入。


解决方案:

使用 sublime text 等代码编辑器,打开需要导入的数据库文件,然后批量查找替换所有的


utf8mb4_unicode_520_ciutf8mb4_unicode_ci


保存后再导入即可。

评论