假设
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以后用这个验证
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
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
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/
应该进入到备份文件的目录下
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),正确的处理方式应该是先压缩然后再从服务器上拷贝。