备份
该例子基于以下条件:
1. mongodb服务器运行在当前登录的机器
2. 磁盘空间足够大,备份的文件最大可能与数据一样大
cd ~mkdir testmongobackupcd testmongobackupmongodump2016-12-25T18:37:36.378+0800 writing admin.system.users to 2016-12-25T18:37:36.386+0800 done dumping admin.system.users (1 document)2016-12-25T18:37:36.387+0800 writing admin.system.version to 2016-12-25T18:37:36.389+0800 done dumping admin.system.version (2 documents)2016-12-25T18:37:36.389+0800 writing media.media to 2016-12-25T18:37:36.390+0800 done dumping media.media (3 documents)
数据库备份到testmongobackup文件夹下
[mongo@mongo testmongobackup]$ find ./././dump./dump/media./dump/media/media.metadata.json./dump/media/media.bson./dump/admin./dump/admin/system.users.metadata.json./dump/admin/system.version.metadata.json./dump/admin/system.users.bson./dump/admin/system.version.bson
恢复
cd ~/testmongobackupmongorestart --drop2016-12-25T18:57:39.008+0800 using default '
dump'
directory2016-12-25T18:57:39.008+0800 preparing collections to restore from2016-12-25T18:57:39.019+0800 reading metadata for media.media from dump/media/media.metadata.json2016-12-25T18:57:39.035+0800 restoring media.media from dump/media/media.bson2016-12-25T18:57:39.038+0800 no indexes to restore2016-12-25T18:57:39.038+0800 finished restoring media.media (3 documents)2016-12-25T18:57:39.038+0800 restoring users from dump/admin/system.users.bson2016-12-25T18:57:39.056+0800 done
注:
使用–drop选项,可以在恢复数据之前先丢弃现有的数据,最终备份数据将替换现有的数据。如果不使用,被恢复的数据将追加到每个集合的尾部,这将导致出现重复的数据。 mongodump工具在写入备份文件之前,不会清空输出目录中的内容。备份或恢复单个数据库
mongodump -d databasse_namemongorestore -d databasse_name --drop
备份或恢复单个集合
mongodump -d database_name -c collection_namemongorestore -d databasse_name -c collection_name --drop
深入学习
mongodump --helpmongorestore --help