mongodb常用操作

1.数据的备份和恢复 和 常见错误
 
 备份单个库:

mongodump -u 账号 -p 密码 --port 27017 --authenticationDatabase admin -d 库名 -o  目录名(备份至..)

 
 恢复单个库:

mongorestore -u 账号 -p 密码 --port 27017 --authenticationDatabase admin -d 库名 目录名(数据的备份所在目录)

 
详细如下:

mongodump/mongorestore
主要用途简单且高效的小型的MongoDB的数据库的备份/恢复
导出格式bson
额外说明不适合备份/恢复大型MongoDB数据库,默认是不拷贝local这个(特殊的)数据库
经验/结论支持普通导出单个db的所有的collection,建议:普通的,简单的,数据的备份和恢复,都还是用mongodump/mongorestore这套工具

1、当想备份单独的数据库、集合甚至集合中的子集时mongodump是个很好的选择。
2、如果运行mongod时使用了–replSet选项,则可使用mongodump的–oplog选项。这会将转储过程中服务器进行的所有操作记录下来,这样在恢复备份时就会重新执行这些操作。这样就可以得到源服务器上某一时间点的数据快照。
3、如果转储数据库时使用了–oplog参数,运行mongorestore时必须使用–oplogReplay选项,以得到某一时间点的快照。

--备份单个表
mongodump -u  superuser -p 123456  --port 27017 --authenticationDatabase admin -d myTest -c d -o /backup/mongodb/myTest_d_bak_201507021701.bak
--备份单个库
mongodump  -u  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest -o  /backup/mongodb/
--备份所有库
mongodump  -u  superuser -p 123456 --authenticationDatabase admin  --port 27017 -o /root/bak 
--备份所有库推荐使用添加--oplog参数的命令,这样的备份是基于某一时间点的快照,只能用于备份全部库时才可用,单库和单表不适用:
mongodump -h 127.0.0.1 --port 27017   --oplog -o  /root/bak 
--同时,恢复时也要加上--oplogReplay参数,具体命令如下(下面是恢复单库的命令):
mongorestore  -d swrd --oplogReplay  /home/mongo/swrdbak/swrd/
--恢复单个库:
mongorestore  -u  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest   /backup/mongodb/
--恢复所有库:
mongorestore   -u  superuser -p 123456 --port 27017  --authenticationDatabase admin  /root/bak
--恢复单表 
mongorestore -u  superuser -p 123456  --authenticationDatabase admin -d myTest -c d /backup/mongodb/myTest_d_bak_201507021701.bak/myTest/d.bson

 
  常见错误:
 1.Failed: error writing data for collection myshlr._LoginLog to disk: error reading collection: Failed to parse: { find: “_LoginLog”, skip: 0, snapshot: true, $readPreference: { mode: “secondaryPreferred” }, $db: “myshlr” }. Unrecognized field ‘snapshot’.

–这是版本不匹配, mongodump 后面加个参数 “ --forceTableScan ” 就可以了。

mongodump --forceTableScan -u 账号 -p 密码 --port 27017 --authenticationDatabase admin -d 库名 -o  到处的目录。

==================================================

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值