腾讯云数据库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进行数据备份是否会影响业务?
详情参考常见问题。