Fro*_*sty 8 mariadb mysqldump phpmyadmin collation import
我有一个使用 mysqldump 导出的 mysql 8.0。我正在尝试使用 phpmyadmin 将它导入到 Mariadb 10.4 数据库中,两者都是最新版本。每次我这样做时,我都会得到:
Error: Unknown collation utf8mb4_0900_ai_ci
Run Code Online (Sandbox Code Playgroud)
然后我回到 sql 文件并替换utf8mb4_0900_ai_ci为utf8mb4_general_ci,但是它说各种CREATE VIEWsql 语句都有错误。我可以尝试其他快速、无错误的修复吗?
Fra*_*rzi 22
我通过在 SQL 转储文件中utf8mb4_0900_ai_ci替换所有出现的 来解决了我的问题。utf8mb4_unicode_520_ci
tho*_*ter 20
在 MariaDB 中,请使用utf8mb4_unicode_520_ci代替,或者如果您有较新版本的 MariaDB,您甚至可以使用uca1400_as_ci 。
不要使用“_general_ci”,因为它不能根据任何版本的 Unicode 正确排序或比较,并且在几十年前已被取代。
当MySQL在Unicode 9.0中引入基于比较和排序规则的utf8mb4_0900_ai_ci时,MariaDB当时选择不遵循。新规则没有太大变化,因为 Unicode 的排序和比较规则对于几代 Unicode 来说已经相当稳定。选择“unicode_520_ci”规则在几乎所有情况下都会产生相同的结果,并且此排序规则可以在 MySQL 和 MariaDB 中使用。
MariaDB 目前正在引入 Unicode 14.0 的排序规则 - 简称为uca1400_as_ci(您不再需要“utf8mb4_”部分)。如果您有新版本的 MariaDB,则可以升级到这些版本。
确保使用“utf8mb4”作为字符编码(而不是“utf8mb3”或“utf8”,它们代表旧有缺陷/已弃用的 UTF8 实现)。
| 归档时间: |
|
| 查看次数: |
4816 次 |
| 最近记录: |