mongodb数据库备份恢复-windows系统

备份语法:

mongodump命令脚本语法如下:

>mongodump -h dbhost -d dbname -o dbdirectory
  • -h:

MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

  • -d:

需要备份的数据库实例,例如:test

  • -o:

备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

恢复语法:

mongodb使用 mongorestore 命令来恢复备份的数据。

语法

mongorestore命令脚本语法如下:

>mongorestore -h <hostname><:port> -d dbname <path>
  • --host <:port>, -h <:port>:

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

  • --db , -d :

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

  • --drop:

恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

  • <path>:

mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。

你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。

  • --dir:

指定备份的目录

你不能同时指定 <path> 和 --dir 选项。

1:windows系统环境下mongodb的备份恢复

备份语句:

mongodump.exe -d maxiangqian -o d:\sqldata\

完成了备份,看下具体的参数:

描述 
mongodump --host HOST_NAME --port PORT_NUMBERmongodump --host w3cschool.cc --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORYmongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAMEmongodump --collection mycol --db test

恢复数据:

mongorestore.exe -d maxiangqian d:\sqldata\

我在恢复数据以前已经删掉了原始数据库,现在这个就没问题了,直接恢复成功。

2:linux下mongodb数据库的备份恢复

备份有两种方式:

看第一种备份方式:

$ mongodump --host mongodb.example.net --port 27017 --db test --collection some --username backup --password passwd

以上会使mongodump连接到mongodb.example.net:27017上的mongod,并且把dbtest中的somecollection备份到dump目录下。

看第二种备份方式:

mongodump --dbpath /data/db --out /data/backup --db test --username backup --password passwd

在这种方式下不需要运行mongod实例,如果已经运行了,必须要停掉。--dbpath指定了数据库文件的位置。 mongodump会直接读取数据库文件,在读取过程中会lock数据文件夹,以防其他Mongodb实例写入而导致数据不一致。--out指定了备份存放的文件夹。

恢复方式:

mongorestore恢复数据的方式与mongodump相对应,也是分为两种:

第一种方式:

$ mongorestore --host mongodb.example.net --port 27017 --db test --collection some --username backup --password password /data/backup

以上会从/data/backup中恢复数据,其中只恢复testdb中somecollection到mongodb.example.net:27017中。如果不指定--host和--portoption,那么mongorestore会默认使用localhost:27017。

如果只想恢复部分数据,可以使用--filteroption:

$ mongorestore --filter '{"field": 1}'

以上会把dump文件夹数据中field为1的document恢复到mongod中。

第二种方式:

$ mongorestore --dbpath /data/db --journal /data/backup

以上可以在mongod没有运行的情况下把数据恢复到/data/db。--journaloption可以确保mongorestore在日志中记录所有的操作,这可以防止恢复操作异常中断(断电、磁盘故障)而引起的数据损坏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值