当前位置:   article > 正文

1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘, Time: 0.222000s 解决_utf8mb4_0900_ai_ci是哪个版本的

utf8mb4_0900_ai_ci是哪个版本的

解释

utf8mb4_0900_ai_ciMySQL 8.0 之后的默认字符集和校对。它提供了一种新的方式来存储和比较字符数据。其中:

  • utf8mb4 是字符集(charset),表示该字符集支持最大为4字节的UTF-8字符。
  • 0900 是 Unicode 校对的版本,这是 MySQL 8.0 使用的新版本。
  • ai 表示 “accent insensitive”(不区分重音符号)。
  • ci 表示 “case insensitive”(不区分大小写)。

原因:

您可能正在从一个 MySQL 8.0(或更高版本)的实例导出数据,并试图将其导入到一个更早版本的 MySQL 实例中,而早期的 MySQL 版本不支持 utf8mb4_0900_ai_ci 校对。

解决方法一:

  1. 更新目标MySQL版本:升级您的MySQL版本到8.0或更高版本,这样您就可以直接使用这个字符集和校对。

  2. 修改SQL文件:使用文本编辑器打开导出的SQL文件,将所有的 utf8mb4_0900_ai_ci 替换为 utf8mb4_unicode_ci(或您的MySQL版本支持的其他校对)。然后,您可以尝试再次导入。

例如,将:

CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
  • 1

替换为:

CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
  • 1
  1. 更改导出设置:如果您使用工具(如phpMyAdmin、MySQL Workbench等)导出数据,可能可以在导出时更改字符集和校对的设置。

在采取上述措施之前,建议备份您的数据库和SQL文件,以防止数据丢失或损坏。

解决方法二:

如果您的目标数据库版本是MySQL 5.7,那么您应该将字符集和校对方式更改为MySQL 5.7支持的版本。utf8mb4 字符集在 MySQL 5.7 中是支持的,但 utf8mb4_0900_ai_ci 校对是不支持的。

以下是如何修改导出的SQL文件以使其兼容MySQL 5.7:

  1. 使用文本编辑器打开导出的SQL文件。

  2. 找到并替换所有的 utf8mb4_0900_ai_ciutf8mb4_unicode_ci

例如,将:

CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
  • 1

替换为:

CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
  • 1
  1. 同样地,将:
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
  • 1

保留不变,因为 utf8mb4_bin 在MySQL 5.7中是支持的。

  1. 保存SQL文件。

  2. 尝试再次导入修改后的SQL文件到您的MySQL 5.7数据库。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/98392
推荐阅读
相关标签
  

闽ICP备14008679号