在线迁移
功能概述
在线迁移服务可以将远端 MySQL 数据库的数据平滑迁移到 MySQL Plus 集群中。在线迁移过程不影响远端数据库正常业务。迁移完成后,业务切换请在业务低峰期执行。
企业云平台支持 xtrabackup 方式和 mysqldump 两种在线迁移方式。
-
mysqldump方式可在线迁移远端不同区域不同 VPC 网络中的数据库。 -
xtrabackup方式仅支持在线迁移在同一 VPC 网络下的集群,并且需要 MySQL 内核版本保持一致。当数据量大时,企业云平台建议选择该迁移方式。
约束限制
-
目前支持在线迁移的 MySQL 版本为 v5.6、v5.7、v8.0。若远端 MySQL 内核低于 v5.6 版本,请使用离线迁移的方式。
-
在线迁移过程中,禁止向远端集群和本集群执行任何操作,包括 DDL 语句、控制台管理等。
-
在线迁移过程中,仅在
主实例节点运行,若本地集群存在只读实例节点,迁移操作将失败。
前提条件
-
MySQL Plus 集群状态为
活跃。 -
已获取远端 MySQL 数据库具有
super和复制权限的账号,且目标集群与原集群均需已开启GTID模式。
操作步骤
方式一:xtrabackup
xtrabackup 方式仅支持同一 VPC 网络下,且集群内核大版本一致之间的在线迁移,不支持跨内核大版本间的迁移。例如,支持从 MySQL v5.6 迁移至 MySQL v5.6,但是不支持从 MySQL v5.6 迁移至 MySQL v5.7。
-
步骤一:创建本地集群
准备一个仅有
主实例节点的集群,用于迁移远端集群的数据。参考如何创建 MySQL Plus 集群。 -
步骤二:启动在线迁移
-
通过 Web 浏览器登录企业云平台的 Console。
-
在顶部菜单栏中选择产品与服务 > 数据库与缓存 > 关系型数据库 MySQL Plus,进入 MySQL Plus 管理页面。
-
在 MySQL Plus 管理页面,点击目标集群 ID,进入 MySQL Plus 集群详情页面。
-
点击左侧基本属性区域右上角的图标,在展开菜单栏中,选择在线迁移。
-
弹出对话框,用户根据页面信息,填写远端 MySQL 数据库参数。页面参数说明如下。
参数 说明 角色
选择当前集群节点角色类型,默认为
主实例。远端 MySQL 账号密码
输入远端 MySQL 数据库账号密码。
通过 Xtrabackup 迁移
设置为
YES。远端集群 ID
输入远端集群 ID。
远端 MySQL 账号
填写远端具有
super权限,复制权限的账号。 -
确认信息填写无误后,点击提交,返回集群详情页面,迁移开始。
说明 在线迁移期间,可通过高可用写 IP 查看同步状态。
-
在线迁移完成后,MySQL Plus 集群将获取远端 MySQL 数据库全量数据,且与远端 MySQL 数据库建立主从关系,实时同步迁移远端数据库的增量数据。
-
-
步骤三:切换业务数据库
延续前文步骤,选择在业务低峰期,切换业务。
-
暂停远端数据库业务。
-
校验当前集群与远端数据库数据是否一致。
-
在当前集群详情页,点击左侧基本属性区域右上角的图标,在展开菜单栏中,选择结束迁移,系统将自动启用当前集群。
-
将业务连接地址修改为当前集群的高可用写 IP,则业务迁移完毕。
注意 -
若远端 MySQL 数据库与 MySQL Plus 集群同版本且处于同一私有网络中,则用户可通过交换预留 IP 快速切换业务。
-
切换业务时,必须停止远端数据库写操作,保障数据一致性。
-
数据迁移完成后,系统将自动同步远端 MySQL 数据库账号信息,并添加至当前集群,无需用户手动创建账号。
-
-
方式二:mysqldump
该方式不支持从 高版本 迁移至 低版本,且不支持迁移远端 MySQL 数据库的账号信息,远端业务账号可在启动在线迁移前创建,也可在执行结束迁移后创建。
-
步骤一:配置远端集群参数
按照以下内容,修改远端集群参数。
connect_timeout=30 max_allowed_packet=1G slave_pending_jobs_size_max=1G interactive_timeout=3600 wait_timeout=3600 net_read_timeout=3600 net_write_timeout=3600 -
步骤二:准备本地集群
参考如何创建 MySQL Plus 集群,准备一个仅有
主实例节点的集群,用于迁移远端集群的数据。并按照以下内容,修改本地集群参数。max_allowed_packet=1G slave_pending_jobs_size_max=1G interactive_timeout=3600 wait_timeout=3600 net_read_timeout=3600 net_write_timeout=3600 -
步骤三:本地集群启动在线迁移
-
通过 Web 浏览器登录企业云平台的 Console。
-
在顶部菜单栏中选择产品与服务 > 数据库与缓存 > 关系型数据库 MySQL Plus,进入 MySQL Plus 管理页面。
-
在 MySQL Plus 管理页面,点击目标集群 ID,进入 MySQL Plus 集群详情页面。
-
点击左侧基本属性区域右上角的图标,在展开菜单栏中,选择在线迁移。
-
弹出对话框,用户根据页面信息,填写远端 MySQL 数据库参数。页面参数说明如下。
参数 说明 角色
选择当前集群节点角色类型,默认为
主实例。远端 MySQL 账号密码
输入远端 MySQL 数据库账号密码。
远端 MySQL 地址
输入远端 MySQL 数据库 IP 地址。
通过 Xtrabackup 迁移
设置为
NO。远端 MySQL 账号
填写远端具有
super权限,复制权限的账号。是否迁移系统库
默认为
YES,迁移系统库。说明 远端数据库为异构 MySQL 时可选择为
NO,即不迁移系统库。远端 MySQL 端口号
输入远端 MySQL 的端口号。
-
确认信息填写无误后,点击提交,返回集群详情页面,迁移开始。
说明 在线迁移期间,可通过高可用写 IP 查看同步状态。
-
在线迁移完成后,本地 MySQL Plus 集群将获取远端 MySQL 数据库全量数据,且与远端 MySQL 数据库建立主从关系,实时同步迁移远端数据库的增量数据。
-
-
步骤四:切换业务数据库
延续前文步骤,选择在业务低峰期,切换业务。
-
暂停远端数据库业务。
-
校验当前集群与远端数据库数据是否一致。
-
在本地集群详情页,点击左侧基本属性区域右上角的图标,在展开菜单栏中,选择结束迁移,系统将自动启用当前集群。
-
将业务连接地址修改为当前集群的高可用写 IP,则业务迁移完毕。
注意 -
若远端 MySQL 数据库与本地 MySQL Plus 集群同版本且处于同一私有网络中,则用户可通过交换预留 IP 快速切换业务。
-
切换业务时,必须停止远端数据库
写操作,保障数据一致性。 -
数据迁移完成后,需用户将远端 MySQL 数据库账号信息,手动添加至当前集群。
-
-