导入问题通过 phpmyadmin 或来自 SSH (用于导入的订单行) 数据库 或存档,特别是在将数据库从一台服务器移动到另一台服务器时出现的,该数据库不使用相同的设置进行编码,或者是不同版本的不同版本 mysql。
Error
SQL query:
CREATE TABLE `wp_termmeta` (
`meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`term_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,
PRIMARY KEY (`meta_id`),
KEY `term_id` (`term_id`),
KEY `meta_key` (`meta_key`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci
MySQL said: Documentation
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci'
此错误后, 数据库的导入 WordPress或其他CM会突然停止。
由于两个系统使用的编码不同,因此出现了问题。在这种情况下, “UTF8MB4_UNICODE_520_CI” 未认可,进口无法完成。
解决方案通过PhpMyAdmin或SSH导入SQL错误 – 未知的整理:‘UTF8MB4_UNICODE_520_CI’
最简单的方法是替换为.sql文件,字符串 “UTF8MB4” 与 “UTF8“。为此,您有一个方便的phpmyadmin,可以在其中下载PC上的数据库文件。在开始更改之前,请确保数据库的备份。在我们开始更改数据库之前,始终表示备份。
假设在我们的情况下,我们有文件 “name_baza_de_date.sql” 我们需要替换“UTF8MB4” 与 “UTF8“..许多系统管理员的内部方法是使用命令在Linux上进行此更改 “sed” 为了 “寻找 & 代替“。因此,在Linux服务器上爬上文件,然后执行 命令行 在 您拥有.sql文件的主任 您想进行更改。
sed -i 's/utf8mb4/utf8/g' nume_fisier.sql
sed -i 's/utf8_unicode_ci/utf8_general_ci/g' nume_fisier.sql
sed -i 's/utf8_unicode_520_ci/utf8_general_ci/g' nume_fisier.sql
执行这些命令行后,将在.sql文件中替换 “UTF8MB4” 与 “UTF8”,,,, “UTF8_UNICODE_CI” 与 “多雨” 和 “UTF8_UNICODE_520_CI” 与 “多雨”。当然,您可以使用TXT编辑器在Windows PC或Mac上进行这些更改,以打开.sql文件。
通过phpmyadmin导入修改的文件。
非常感谢您分享信息。它运作完美。
保存了一天,KKKK谢谢!