跳到主要内容

29、MongoDB 恢复数据( mongorestore )

语法

MongoDB mongorestore 命令脚本语法如下

$ mongorestore -h <hostname><:port> -d dbname <path>

参数说明

  • -h <:port>, -h<:port>

MongoDB 所在服务器地址,默认为 localhost:27017

  • –db, -d

需要恢复的数据库实例
例如:test,这个名称也可以和备份时候的不一样,比如 test2

  • --drop

设置恢复的时候,先删除当前数据,然后恢复备份的数据 就是说,恢复后,备份后添加修改的数据都会被删除

慎用

  • mongorestore 最后的一个参数,设置备份数据所在位置,例如:/mnt/data/backup/mongodb

不能同时指定 和 –dir 选项

  • –dir

指定备份的目录

不能同时指定 和 –dir 选项

范例

现在,我们使用刚刚备份的数据来恢复 MongoDB 数据库

>mongorestore

执行以上命令输出结果如下

$ mongorestore 
2017-10-24T07:28:58.400+0800    using default 'dump' directory
2017-10-24T07:28:58.401+0800    preparing collections to restore from
2017-10-24T07:28:58.407+0800    reading metadata for gridfs.fs.chunks from dump/gridfs/fs.chunks.metadata.json
2017-10-24T07:28:58.407+0800    reading metadata for rbtj.rb_visit_log from dump/rbtj/rb_visit_log.metadata.json
2017-10-24T07:28:58.408+0800    restoring gridfs.fs.chunks from dump/gridfs/fs.chunks.bson
2017-10-24T07:28:58.408+0800    restoring rbtj.rb_visit_log from dump/rbtj/rb_visit_log.bson
2017-10-24T07:28:58.410+0800    reading metadata for shandai.s_order_log from dump/shandai/s_order_log.metadata.json
2017-10-24T07:28:58.412+0800    restoring shandai.s_order_log from dump/shandai/s_order_log.bson
2017-10-24T07:28:58.414+0800    reading metadata for nodebb.objects from dump/nodebb/objects.metadata.json
2017-10-24T07:28:58.414+0800    restoring nodebb.objects from dump/nodebb/objects.bson

....