mongodb数据库的备份与恢复(mongodump和mongorestore)
使用mongodump工具进行备份时,不会清空目标目录,但在备份时,如果备份与现有的文件夹名字相同,则会进行覆盖。数据库备份在文件之后可以压缩或者存储在其他媒介中。
mongodump工具备份创建的文件夹结构如下:
./dump/数据库名/集合名.bson
一、mongodump工具进行备份
1、备份MongoDB所有数据库
创建备份Monodb的目录,并且进入到目录中。
$ mkdir mongobackup
$ cd mongobackup
$ mongodump
2、备份单个数据库
$ cd mongobackup
$ mongodump -d 数据库名
3、备份单个集合
$ cd mongobackup
$ mongodump -d 数据库名 -c 集合名
4、mongodump工具的帮助命令
$ mongodump --help
二、mongorestore工具进行恢复。
1、将mongodb中所有的数据库进行恢复,一定不要忘带–drop选项。
$ cd mongobackup
$mongorestore --drop
注意:
1.1、要在备份文件目录中执行此命令,不要忘了cd mongobackup,否则出现:
1.2、一定要带–drop选项,drop选项的作用是在进行恢复之前,删除和恢复相同名字的集合。如:在mongodb的library数据库有test1集合和test2集合,进行备份恢复的文件中只备份了test1集合,而test2集合是备份之后创建的,没有备份。所以在进行恢复时,会先删除test1集合,然后进行恢复。而test2集合不会被删除然后执行恢复,test2集合不会发生任何变化。如果不使用drop选项,恢复的数据会追加在集合的尾部,会出现许多重复的数据。
2、恢复单个数据库
$ cd mongobackup
mongorestore -d 数据库名 --drop
3、恢复单个集合
$ cd mongobackup
$mongorestore -d 数据库名 -c 集合名 --drop
4、mongorestore工具的帮助命令
$ mongorestore --help