MongoDB(三) 备份与恢复

MongoDB备份与恢复

1. 备份 mongodump

用法: mongodump

将mongodb里的数据导出为.bson文件

常用配置:

参数用法
/help打印帮助
/version打印工具版本
/v, /verbose:指定日志(v的数量代表了日志级别, 如:-vvvv, 也可以指定数字, 如:–verbose=N)
/quiet静默执行, 不打印任何日志输出
/h, /host:指明数据库服务器的IP
/port:服务端口 (也可以这么用 –host hostname:port)
/u, /username:连接服务器的用户名
/p, /password:连接数据库的密码
/authenticationDatabase:存储用户凭据的数据库
/authenticationMechanism:认证机制
/d, /db:将要备份的数据库
/c, /collection:将要备份的集合(数据表)
/o, /out:备份文件输出路径, 默认路径是bin下的dump 或者指定为’-’ 表示输出到控制台(例: -o -)

2. 恢复 mongorestore

用法: mongorestore

常用配置:

同上

3. 其他方法

有时别人会把整个MongoDB的数据文件发给你, 这种”备份”方式很不推荐, 因为这样很有可能在复制文件的时候有更新操作, 导致拿到的文件时不完整的, 从而无法恢复. 使用上述备份与恢复方法可以避免这个问题.

如果拿到的是数据文件:
- 首先看是否有.wt文件, 如果有, 则说明原始库用的是WiredTiger引擎, 如果你的MongoDB是3.2以上版本, 则默认就是WiredTiger引擎, 无需额外加参数. 如果没有.wt文件, 而是有xxx.ns和xxx.0 xxx.1等文件, 则说明用的是mmap引擎, 3.2一下版本默认就是这个引擎, 而3.2以上版本需要指定参数:–storageEngine=mmapv1
- 然后看文件夹中是不是每个数据库都有自己的子文件夹, 这将决定启动mongod的时候是否需要加参数–directoryperdb, 有子文件夹则需要加这个参数, MongoDB将会去相应的子文件夹中读取数据文件
- 最后别忘了加参数–dbpath用于指定你所拿到备库文件夹的路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值