我的本地 WAMP 服务器上有一个WordPress网站。但是当我将其数据库上传到实时服务器时,我收到错误
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
任何帮助将不胜感激!
答案 0 :(得分:228)
我认为这个错误是由于本地服务器和实时服务器运行不同版本的MySQL而引起的。要解决这个问题:
utf8mb4_unicode_520_ci
utf8mb4_unicode_ci
希望有助于
答案 1 :(得分:139)
您可以通过查找
来解决此问题ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
在您的.sql
文件中,并使用
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
答案 2 :(得分:44)
在我的情况下,结果是我的
新服务器正在运行QProcess.error
,
旧服务器正在运行MySQL 5.5
因此,在尝试导入从旧服务器导出的MySQL 5.6
文件时出现此错误。
MySQL 5.5不支持.sql
,但是支持
MySQL 5.6可以。
在新服务器上更新到utf8mb4_unicode_520_ci
解决了整理错误!
如果你想保留MySQL 5.5,你可以:
- 制作导出的MySQL 5.6
文件的副本
- 替换.sql
和utf8mb4unicode520_ci
的实例
...... utf8mb4_unicode_520_ci
- 导入更新的utf8mb4_unicode_ci
文件。
答案 3 :(得分:14)
在文本编辑器中打开sql文件;
<强> 1。搜索: utf8mb4_unicode_ci 替换: utf8_general_ci (全部替换)
<强> 2。搜索: utf8mb4_unicode_520_ci 替换: utf8_general_ci (全部替换)
第3。搜索: utf8mb4 替换: utf8 (全部替换)
保存并上传!
答案 4 :(得分:8)
只需删除&#34; 520 _&#34;
utf8mb4_unicode_520_ci
→utf8mb4_unicode_ci
答案 5 :(得分:8)
轻松更换
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
答案 6 :(得分:5)
查找并替换:
utf8mb4_unicode_520_ci
与
utf8_general_ci
在整个sql文件中
答案 7 :(得分:4)
我以这种方式解决了问题,我在记事本中打开了.sql文件,然后单击CTRL + H查找并替换了字符串“ utf8mb4_0900_ai_ci ”,然后将其替换为“ utf8mb4_general_ci strong>”。
答案 8 :(得分:1)
就我而言,我用utf8_general_ci
替换为sed,如下所示:
sed -i 's/utf8_0900_ai_ci/utf8_general_ci/g' MY_DB.sql
sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' MY_DB.sql
在那之后,我可以毫无问题地导入它。
答案 9 :(得分:0)
迟到聚会,但是如果安装WORDPRESS
时发生这种情况:
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
在phpmyadmin中,在export method
> Format-specific options
(自定义导出)下
设置为:MYSQL40
如果您现在尝试导入,则现在可能会收到另一条错误消息:
1064 - You have an error in your SQL syntax; .....
这是因为在MySQL 5.5中删除了与TYPE
同义的旧ENGINE
选项。
打开您的.sql
文件,搜索并替换所有实例
从TYPE=
到ENGINE=
现在导入应该顺利进行。
答案 10 :(得分:0)
获取排序规则错误#1273-未知的排序规则:“ utf8mb4_unicode_520_ci”是由您导出的MySQL版本和导入的MySQL服务器的不同引起的。基本上,较新版本的Wordpress库会检查您的网站正在运行的SQL版本。如果使用MySQL 5.6或更高版本,则假定使用名为“ utf8mb4_unicode_520_ci”的新的和改进的Unicode排序算法(UCA)。除非您最终将WordPress网站从MySQL的5.6较新版本迁移到MySQL的5.6之前的较旧版本,否则这是很好的选择。
要解决此问题,您将不得不编辑SQL导出文件并进行搜索和替换,将所有“ utf8mb4_unicode_520_ci”实例更改为“ utf8mb4_unicode_ci”。或者,如果您有PHPMyAdmin,请按照以下步骤操作:
答案 11 :(得分:0)
我刚刚在Notepad ++中打开dump.sql文件,然后按CTRL + H查找并替换字符串“ utf8mb4_0900_ai_ci ”,并将其替换为“ utf8mb4_general_ci ”。源链接https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
答案 12 :(得分:0)
我只是删除了 COLLATE
和其他属性,只保留到 ENGINE
。
像下面这样
来自:
ENGINE=InnoDB AUTO_INCREMENT=429 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
致:
ENGINE=InnoDB;
它对我来说很好。
答案 13 :(得分:0)
1273 - 未知排序规则:'utf8mb4_0900_ai_ci'
就我而言,我无法使用
导入数据库ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci;
和
ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
两者兼而有之。但是在.SQL文件中改成这个就解决了问题
ENGINE=InnoDB DEFAULT CHARSET=latin1;
更新
使用'utf8mb4_general_ci'解决了问题
ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;
答案 14 :(得分:0)