# Mysql 数据库迁移指引

微信云托管提供 Mysql 数据库，同环境服务可以对此数据库进行内网连接，如果你想将其他地方的数据库数据迁移到云托管的 Mysql 数据库中，可以参考下述指引。

下述操作中，我们将数据原来所在的数据库称为「源数据库」，将云托管 Mysql 数据库称之为「目标数据库」

## 打开腾讯云控制台

在浏览器中，访问微信云托管控制台[费用中心](https://cloud.weixin.qq.com/cloudrun/expense)，登录你想要迁移的「目标数据库」所在环境。

点击页面右边「充值与账单」文字按钮，跳转到腾讯云控制台。

进入腾讯云控制台后，在浏览器中打开[数据迁移控制台](https://console.cloud.tencent.com/dts/migration?rid=4)，页面如下：

![](https://res8.wxqcloud.qq.com.cn/wxdoc/6f286ba2-fc2e-48d6-9da0-147187b909b1.png)

## 新建迁移任务

根据上图所示，点击创建任务按钮，创建一个数据迁移任务。

![](https://res8.wxqcloud.qq.com.cn/wxdoc/3fa33678-4b6f-47e1-87af-d754b199e22f.png)

创建数据迁移任务需要注意以下几点：

1. 源数据库不管是普通 Mysql 还是 TDSQL-C Mysql，一律选择 MySQL。
2. 目标数据库需要选择 TDSQL-C Mysql
3. 源数据库地域需要根据自己的实际情况选择。
4. 目标数据库地域需要和微信云托管所属地域保持一致，默认上海。
5. 规格可以根据自己的数据情况选择，大规格迁移的快，小规格迁移的慢。

迁移任务是按量计费的，也就是一次搬运所需要的时间，按小时单价结算。目前 TDSQL-C 相关的迁移均免费（2022 年 6 月），具体看当时的公告和价目单。

## 配置迁移任务

创建后返回[数据迁移控制台](https://console.cloud.tencent.com/dts/migration?rid=4)，点击任务的「配置」按钮，如下图所示：

![](https://res8.wxqcloud.qq.com.cn/wxdoc/24a2078f-e7e6-4344-a987-eefe0e79af32.png)

首先需要配置数据库连接，按照自己的情况选择配置，具体如下图所示：

![](https://res8.wxqcloud.qq.com.cn/wxdoc/66c221ba-63e8-4f5d-9ca6-f2cf2c8cb62a.png)

一般源库设置直接选择公网，如果涉及内网，需要配置云联网、VPN 等接入手段。

如果是另一个微信云托管环境的数据库，直接开启外网访问，然后填写外网地址端口，不方便开启的，走云联网。

如果是腾讯云数据库，直接选择「云数据库」类型即可。

账号密码填写数据库的操作密码。

目标库的数据库实例，选择对应的，如果有多个环境多个数据库实例，分辨不清楚，可以在微信云托管 Mysql 控制台，进入数据库管理，在页面 URL 中看参数值来判断具体是哪一个。

配置之后，点击「测试连通性」按钮，两个都通过后就保存进入下一步。

## 设置迁移对象

可以选择迁移整个实例或者指定对象，按照自己的设定选择即可。

![](https://res8.wxqcloud.qq.com.cn/wxdoc/b8bc5b93-c020-4153-877d-baf1de542269.png)

选择后进入校验检查阶段，如果检查不通过将会有提示，根据提示修改后重新检查。

检查通过后可以选择启动任务或者保存。

## 启动任务

启动任务后，任务进入准备运行状态，运行 1-2 分钟后，数据迁移任务开始正式启动。

1. 选择结构迁移或者全量迁移：任务完成后会自动结束，不需要手动结束。
2. 选择全量+增量迁移：全量迁移完成后会自动进入增量数据同步阶段，增量数据同步不会自动结束，需要您手动单击完成结束增量数据同步。

> 增量迁移注意：
>
> - 这个阶段请选择合适时间手动完成增量数据同步，并完成业务切换。
> - 观察迁移阶段为增量同步，并显示无延迟状态，将源库停写几分钟。
> - 目标与源库数据差距为 0MB 及目标与源库时间延迟为 0 秒时，手动完成增量同步。
