tq_theSuperMan 2020-12-08 15:09 采纳率: 0%
浏览 615

MYSQL8导入文件如何不使用默认字符集排序utf8mb4_0900_ai_ci

使用mysqldump导出MYSQL5的数据(采用的utf8mb4_general_ci),导出的sql并未指定collation字符集排序

导致在MYSQL8中导入时,都使用了MYSQL8 utf8mb4默认的字符集排序utf8mb4_0900_ai_ci

这在主从同步的时候,采用主MYSQL5从MYSQL8的情况下,同样的表字符集排序规则冲突

在MYSQL8中指定数据库或server的排序规则也是不行的

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 00:06
    关注

    感谢您的提问。针对您的问题,我可以提供以下解决方案:

    1. 修改导出的SQL文件中的字符集排序规则
      您可以使用文本编辑器打开导出的SQL文件,找到CREATE TABLE语句,手动添加字符集排序规则,指定为utf8mb4_general_ci。如下所示:

    CREATE TABLE tablename (
    column1 varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
    column2 varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

    1. 修改MYSQL8默认字符集排序规则
      您可以在MYSQL8的配置文件中,修改默认字符集排序规则为utf8mb4_general_ci。具体的操作步骤如下:
    1. 打开MYSQL8的配置文件my.cnf,在[mysqld]节点下添加以下配置:

    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci

    1. 保存配置文件并重启MYSQL8服务,使配置生效。

    希望以上方案能够帮助您解决问题,有任何疑问请随时追问。

    评论

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端