功能概述

MySQL Plus 的 MySQL 版本为 v8.0.19、v5.7.29、v5.6.42,且开启了 GTID 复制模式。该情况下,若远端 MySQL 数据库的内核低于 v5.6 版本时,需通过离线迁移的方式,将数据迁移至当前 MySQL Plus 集群,实现 MySQL 跨版本的数据迁移。

数据迁移过程中,需暂停数据的 写操作,避免数据不一致。青云QingCloud建议用户在业务低峰期进行离线迁移的操作。

操作步骤

步骤一:导出远端数据

在源数据库使用 mysqldump 将数据导出至 dump.sql 文件。

说明

导出数据需要排除 mysql.user 表,且不导出 GTID 标识。

  • 例如,执行以下命令行,导出远端数据库的全部数据。其中 192.168.0.100 为远端数据库 IP 地址,3306 为远端数据库端口号,需根据实际情况进行修改。

    mysqldump --all-databases --single-transaction --triggers --routines --events  --host=192.168.0.100 --port=3306 --user=mysql_dev -p --ignore-table=mysql.user --ignore-table=mysql.db --ignore-table=mysql.tables_priv --set-gtid-purged=OFF > dump.sql
  • 用户也可选择导出数据库部分数据,详细命令说明请参考 mysqldump 官方文档

步骤二:数据导入至本地集群

  1. 将导出的 dump.sql 文件复制到本地的 MySQL Plus 集群。

  2. 执行以下命令行,导入数据 dump.sql 数据。其中 192.168.0.250 为本地 MySQL Plus 集群的高可用写 IP 地址,需根据实际情况进行修改。

    mysql -umysql_dev -p -h192.168.0.250 < dump.sql

步骤三:业务切换

  1. 数据迁移完成后,需手动将远端 MySQL 数据库账号信息添加至本地 MySQL Plus 集群。

  2. 校验当前 MySQL Plus 集群与远端 MySQL 数据库数据是否一致。

  3. 将业务连接地址修改为当前 MySQL Plus 集群的高可用 IP,则业务迁移完毕。