创建了WordPress网站,MySQL是该网站的数据库。尝试通过Linux命令Shell将数据库导入空数据库时,我们遇到以下错误:
错误1146(42S02):表“xx xxx xxx xxx xxx”不存在
错误1273(HY000):排序规则未知:“utf8mb4\\u unicode\\u ci”
错误1115(42000):未知字符集:“utf8mb4”
这些错误的可能原因是什么?或者我们应该尝试另一个步骤来恢复我的WordPress网站?
源数据库版本为mysqlnd 5.0.12,目标数据库为mySQL 5.1.66。
SO网友:cybmeta
从原始数据库导出时,如果表不存在,则应选择创建表(第一个错误)。如果未选择该选项(在phpMyAdmin中该选项存在,但在其他数据库工具中不确定),则导入文件无法为创建表,您需要在开始导入之前创建表。
对于第二个和第三个错误,您应该将数据库版本升级到MySQL 5.5.3或更高版本。虽然WordPress可以在MySQL 5.0++上运行,the recommended MySQL version is 5.6 or greater. 问题是,如果数据库版本为5.5.3或更高版本,WordPress会更新数据库以使用utf8mb4,因此可能源数据库版本大于5.5.3,而目标数据库版本小于5.5.3。
如果无法升级目标数据库版本,请编辑导入文件,将排序规则utf8\\U general\\U ci和字符集更改为utf8。
Lood适用于类似于:
SET character_set_client = utf8mb4 ;
SET character_set_results = utf8mb4 ;
SET collation_connection = utf8mb4_unicode_ci;
并改变它们。