使用 MongoDB 工具迁移自建数据库上云

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: Mongodump和Mongorestore是MongoDB数据库自带的备份恢复工具。您可以在本地设备或ECS实例中安装MongoDB数据库,然后借助该工具将自建MongoDB数据库迁移至阿里云MongoDB副本集实例。本文将为大家讲解如何使用 MongoDB 工具迁移自建数据库上云。

63.jpeg
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

Mongodump和Mongorestore是MongoDB数据库自带的备份恢复工具。您可以在本地设备或ECS实例中安装MongoDB数据库,然后借助该工具将自建MongoDB数据库迁移至阿里云MongoDB副本集实例。

一、前提条件

  • 请确保安装的Mongodump和Mongorestore软件版本与自建MongoDB数据库的版本一致。安装步骤请参见官方文档Install MongoDB

说明 您也可以直接在自建MongoDB数据库所属的服务器上执行Mongodump和Mongorestore命令,无需安装。

  • 副本集实例的存储空间应大于自建MongoDB数据库已占用的存储空间。如存储空间不足,您可以升级存储空间,详情请参见变更配置方案概览

二、注意事项

  • 该操作为全量数据迁移。为保障数据一致性,迁移操作开始前请停止自建数据库的相关业务,并停止数据写入。
  • 如果您之前使用Mongodump命令对数据库进行过备份操作,请将dump文件夹中的备份文件移动至其他目录并确保dump文件夹为空,否则执行备份操作将会覆盖该文件夹中的历史备份文件。
  • 请在数据库服务器上执行Mongodump和Mongorestore命令,并非在mongo shell环境下执行。

三、操作步骤

1. 备份自建数据库

1)在自建MongoDB数据库所属的服务器中执行以下命令,备份所有数据库的数据。

mongodump --host <mongodb_host> --port <port>  -u <username>  --authenticationDatabase  <database>

说明

  • :自建MongoDB数据库的服务器地址,本机可使用127.0.0.1。
  • :数据库服务的端口号,默认为27017。
  • :自建MongoDB数据库的数据库账号。
  • :鉴权数据库名,即数据库账号所属的数据库。

示例:

mongodump --host 127.0.0.1 --port 27017 -u root --authenticationDatabase admin

2)当命令行提示Enter password:时,输入数据库账号对应的密码并按回车键确认,即开始执行备份操作。**

说明 输入密码时,密码字符是不可见的。

等待备份完成,自建数据库中的数据即备份至当前目录下的dump文件夹中。

2. 将数据迁移至阿里云

1)获取副本集实例Primary节点的公网或内网连接地址,详情请参见副本集实例连接说明

获取阿里云MongoDB实例Primary节点的连接地址。

  • 登录MongoDB管理控制台
  • 在页面左上角,选择实例所属的地域。
  • 在左侧导航栏,单击副本集实例列表
  • 找到目标实例,单击实例ID。
  • 在左侧导航栏,单击数据库连接,即可查看数据库连接信息。

1.png

表 1. 连接地址说明

地址类型 说明 适用场景
专有网络连接地址 专有网络是一种隔离的网络环境,安全性和性能均高于传统的经典网络。 适用于自建MongoDB数据库部署在ECS实例上的场景。
说明 需要ECS实例和阿里云MongoDB实例属于同一地域,同一VPC网络。
公网连接地址 为保障安全性,默认未提供公网连接地址,需要您手动申请,详情请参见申请公网连接地址 适用于自建MongoDB数据库部署在本地设备的场景。

2)将自建数据库所属服务器的IP地址加入至副本集实例的白名单中,详情请参见设置白名单

说明

  • 通过内网地址连接副本集实例时,您需要将自建数据库所属ECS的内网IP地址加入至副本集实例的白名单中。
  • 通过公网地址连接副本集实例时,将需要将自建数据库所属本地服务器的公网IP地址加入至副本集实例的白名单中。

3)在自建数据库服务器上执行以下语句,将备份的数据全部迁移至副本集实例。

mongorestore --host <Primary_host>  -u <username> --authenticationDatabase <database> <Backup directory>

说明

  • :副本集实例中Primary节点的连接地址。
  • :副本集实例的数据库账号,初始账号为root
  • :鉴权数据库名,即数据库账号所属的数据库。当数据库账号为root时,对应的数据库为admin。
  • :备份文件存储的目录,默认为dump。

示例:

mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 -u root --authenticationDatabase admin dump

4)当命令行提示Enter password:时,输入副本集实例的数据库账号对应的密码并按回车键确认,即开始执行数据迁移操作。

说明

  • 输入密码时,密码字符是不可见的。
  • 如果忘记了root账号的密码,您可以通过设置密码的方式来重置密码。

等待数据迁移完成,根据业务需求选择合适的时间,将业务切换至副本集实例。

阿里巴巴开源镜像站 提供全面,高效和稳定的系统镜像、应用软件下载、域名解析和时间同步服务。”

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
27天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
28天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
30天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
18 1
|
1月前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
27 0
|
14天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
29 1
|
16天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
29 4
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
64 3
Mysql(4)—数据库索引
|
23天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
113 1
|
25天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
74 2
|
28天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
103 4
下一篇
无影云桌面