外部实例迁移
网易云的外部MongDB 复制集实例迁移功能支持多线程数据库备份和恢复,支持迁移失败的重试。此外,网易云提供了较为全面的迁移参数检查,提高了迁移数据的成功率。
1. 迁移要求
- 在执行迁移前,需要用户先在外部待迁移的实例上创建 role 为 backup 和 readAnyDatabase 的账户;
- 目前仅承诺支持迁移2.6至3.4版本的外部 MongoDB 实例;
- 对于低于2.6版本的实例,仍可以使用该功能进行自动迁移,若在迁移过程中遇到未知错误,请 提交工单 联系我们;
- 外部实例迁移功能不迁移特殊的数据库,包括 admin 和 local 数据库;
- 当前 MongoDB 与外部实例网络连通。
2. 迁移流程
2.1. 创建迁移账号
在执行迁移前,需要用户先在外部待迁移的实例上创建 role 为 backup 和 readAnyDatabase 的账户。操作如下:
use admin
db.createUser( { user: "<账号>", pwd: "<密码>", roles: [ { role: "backup", db: "admin" }, { role: "readAnyDatabase", db: "admin" } ] } );
Attention
该账号拥有较高权限,出于安全考虑,数据迁移完成后,请删除该账号。
2.2. 获取数据库列表
2.2.1. 登录 控制台,定位到目标「MongDB」,点击「数据迁移」按钮:
2.2.2. 填写待迁移的外部数据库信息:
- 连接地址:输入外部实例地址信息
- 连接端口:输入外部实例端口信息
- 认证方式:选择 SCRAM-SHA-1或 MongoDB-CR
- 认证数据库:admin
- 账号:输入角色为backup和readAnyDatabase的账户
填写完成后点击「下一步」。
2.3. 选择待迁移的数据库
支持一次性迁移同一实例内的多个数据库。
勾选待迁移的数据库和迁移类型后点击「下一步」。
参数说明:
迁移类型
- 增量迁移:
增量迁移包括全量迁移和增量复制两个阶段。完成全量迁移后,会将迁移过程发生的数据变更同步到目标实例。
- 全量迁移(默认):
将源实例迁移对象的结果定义及数据全部迁移到目标实例。
2.3. 预检查结果
参数设置后,将自动进行参数预检查,包括实例连通性、各个参数设置是否正确等。
- 若发现错误,将出现失败提示,将鼠标移动至检查结果失败项右侧,可查看具体的解决建议,处理完成后点击「重新检查」:
- 若检查通过,点击「开始迁移」则将开始数据迁移。
2.4. 开始迁移
Note
迁移过程中,可以点击迁移进度查看:
迁移进度:
2.5. 完成迁移
数据库迁移完成后,点击「完成迁移」: