从linux下的mongo恢复数据到windows下的mongo库时出现的问题及解决方案

假设 windows系统的电脑IP是:10.28.2.31

mongorestore -h 10.28.2.31 --authenticationDatabase rooot -d kelanTest /home/dili/databak-cr/cms_act/
mongodb2.2.2以后用这个验证
否则会报下面的错误:
connected to: 10.28.2.31
assertion: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }

[root@mongodb databak-cr]# mongorestore -h 10.28.2.31 -u rooot -p 123456 -d kelanTest /home/dili/databak-cr
在linux下连接到windows下的Mongodb时,不关闭防火墙会报下面这个错:
couldn't connect to [10.28.2.31] couldn't connect to server 10.28.2.31:27017 (10.28.2.31), connection attempt failed

mongorestore -h 10.28.2.31 -u root -p 123456 -d crTest /home/dili/databak-cr
上面会报下面的错误:
connected to: 10.28.2.31
ERROR: root directory must be a dump of a single database
       when specifying a db name with --db
       use the --help option for more information
[root@mongodb databak-cr]# mongorestore -h 10.28.2.31 -u rooot -p 123456 -d kelanTest /home/dili/databak-cr/cms_act/
应该进入到备份文件的目录下

下面是积累的普通常用恢复和备份:

[ root@mongodb mongo]# mongodump -h 10.28.10.206 -d cms_act -o /home/dili/databak

mongorestore还原数据库

1,常用命令格式

1
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
--drop的意思是,先删除所有的记录,然后恢复。


2
3
[root@localhost mongodb] # mongorestore -d cms_act /home/dili/databak /cms_act/  # cms_act 这个数据库的备份路径
[root@localhost mongodb] # mongorestore -d act_new /home/dili/databak/cms_act/  #将cms_act还有act_new数据库中



注意:

在linux下备份的mongo数据不能直接重系统目录中拖出来,在这直接拖出来的过程中可能会损坏文件里面的一些数据,导致在另外一台服务器上恢复时可能会报错。因为备份后的文件是一些二进制文件(*.bson)和json文件(*.json),正确的处理方式应该是先压缩然后再从服务器上拷贝。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值