备份语法: 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_NUMBER | mongodump –host w3cschool.cc –port 27017 |
mongodump –dbpath DB_PATH –out BACKUP_DIRECTORY | mongodump –dbpath /data/db/ –out /data/backup/ |
mongodump –collection COLLECTION –db DB_NAME | mongodump –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在日志中记录所有的操作,这可以防止恢复操作异常中断(断电、磁盘故障)而引起的数据损坏