腾讯云数据库MongoDB数据备份恢复最佳实践


数据库备份与恢复

在腾讯云数据库MongoDB 的创、删使用中,为避免误操作威胁数据安全,建议使用工具mongodump对数据库来做备份操作,并使用mongorestore来恢复某一时刻数据库备份状态。这种备份为离线备份,在备份和恢复过程中,数据库将会停止提供读写服务,因此建议您在业务低峰进行操作。

  • 备份命令

    #mongodump --host <hostname> --port <port> --authenticationDatabase <admin> -u <user> -p <passwd> -o <dst_dir>
  • 恢复命令

    #mongorestore --host <hostname> --port <port> --authenticationDatabase <admin>-u <user> -p <passwd> <dst_dir>

上面命令中,各参数如下:

参数 说明
--host 表示连接服务的主机名
--port 端口号,一般为27017
-- authenticationDatabase 操作数据库的用户授权
-u 连接云数据库 MongoDB 服务的用户名
-p 连接云数据库MongoDB 服务的密码
-o 数据备份/恢复的目标路径,恢复时不带-o参数

实践操作

创建腾讯云数据库MongoDB 实例

在可用区B中创建一个副本集架构腾讯云数据库MongoDB 实例,创建的过程参考开通服务。

进入实例、查看连接信息。


创建/登录腾讯云服务器

在与腾讯云数据库MongoDB 实例在同一VPC下的可用区B中创建一台腾讯云服务器,并通过shell远程登录腾讯云服务器的公网IP。创建腾讯云服务器的流程参考腾讯云服务器创建实例。

从腾讯云服务器机器上远程连接腾讯云数据库MongoDB 服务,连接的方法参考连接实例。


创建db/collection

使用腾讯云数据库MongoDB 服务远程创建数据库mydb、youdb,并在mydb下创建普通集合mycollection和capped类型集合capcollection,并于集合中分别写入文档数据。操作后结果如下图:


备份/恢复所有database

可直接一键备份所有database,并可以直接恢复,相应的操作如下:


备份/恢复单个database

可以选择服务中的某一个数据库进行备份和恢复操作,如下操作:


备份/恢复单个collection

选择服务中的某一数据库中的collection进行备份/恢复。

  • 针对普通collection的操作如下:
  • 对capped类型的collection操作如下:

常见问题

如何远程连接腾讯云数据库MongoDB 服务

详情参考[常见问题](MONGODB/常见问题/运维类问题.md#如何远程连接腾讯云数据库MongoDB 服务)。


远程连接腾讯云数据库MongoDB 失败

详情参考[常见问题](MONGODB/常见问题/运维类问题.md#远程连接腾讯云数据库MongoDB 失败)。


mongodump备份全部db报错

详情参考常见问题。


我是否需要使用mongodump进行数据备份?

详情参考常见问题。


使用mongodump进行数据备份,备份文件会存到哪里?

详情参考常见问题。


使用mongodump进行数据备份,恢复是直接回滚覆盖原来的腾讯云数据库MongoDB 数据吗?

详情参考[常见问题](MONGODB/常见问题/运维类问题.md#使用mongodump进行数据备份,恢复是直接回滚覆盖原来的腾讯云数据库MongoDB 数据吗?)。


使用mongodump进行数据备份,备份和恢复过程是否会中断?如果中断怎么处理?

详情参考常见问题。


使用mongodump进行数据备份是否会影响业务?

详情参考常见问题。