Nosql Mongodb之旅(14)—MongoDB 数据备份

来源:互联网 发布:linux smp affinity 编辑:程序博客网 时间:2024/04/29 23:22

备份

[plain] view plaincopy
  1. [root@localhost bin]# ./mongodump -d my_mongodb   
  2. connected to: 127.0.0.1    
  3. DATABASE: my_mongodb     to     dump/my_mongodb            
  4. my_mongodb.system.indexes to dump/my_mongodb/system.indexes.bson                    
  5. 1 objects            
  6. my_mongodb.user to dump/my_mongodb/user.bson                    
  7. 2 objects   
  8. [root@localhost bin]# ll   
  9. 总计 67648    
  10. -rwxr-xr-x 1 root root 7508756 2011-04-06 bsondump   
  11. drwxr-xr-x 3 root root    4096 04-10 23:54 dump   
  12. -rwxr-xr-x 1 root root 2978016 2011-04-06 mongo   

此时,会在当前目录下创建一个dump目录,用于存放备份出来的文件,当然也可以指定备份存放的目录。

[plain] view plaincopy
  1. root@localhost bin]# ./mongodump -d my_mongodb -o my_mongodb_dump   
  2. connected to: 127.0.0.1    
  3. DATABASE: my_mongodb     to     my_mongodb_dump/my_mongodb          
  4.  my_mongodb.system.indexes  to  my_mongodb_dump/my_mongodb/system.indexes.bson                    
  5. 1 objects            
  6. my_mongodb.user to my_mongodb_dump/my_mongodb/user.bson             
  7. 2 objects   
  8. [root@localhost bin]#   

这个例子中将备份文件存在了当前目录下的my_mongodb_dump目录下

恢复

由于刚刚已经做了备份,所以我们先讲库my_mongodb删除掉  

[plain] view plaincopy
  1. > use my_mongodb    
  2. switched to db my_mongodb   
  3. > db.dropDatabase()   
  4. { "dropped" : "my_mongodb", "ok" : 1 }   
  5. > show dbs    
  6. admin   (empty)   
  7. local   (empty)   
  8. test    (empty)   
  9. >     

接下来,我们进行数据恢复

[plain] view plaincopy
  1. [root@localhost bin]# ./mongorestore -d my_mongodb my_mongodb_dump/*   
  2. connected to: 127.0.0.1    
  3. Wed Apr 11 00:03:03 my_mongodb_dump/my_mongodb/user.bson   
  4. Wed Apr 11 00:03:03      going into namespace [my_mongodb.user]   
  5. Wed Apr 11 00:03:03      2 objects found    
  6. Wed Apr 11 00:03:03 my_mongodb_dump/my_mongodb/system.indexes.bson   
  7. Wed Apr 11 00:03:03      going into namespace [my_mongodb.system.indexes]   
  8. Wed Apr 11 00:03:03 { name: "_id_", ns: "my_mongodb.user", key: { _id: 1 }, v: 0 }   
  9. Wed Apr 11 00:03:03      1 objects found   
  10. [root@localhost bin]#  

经验证数据库又回来了,其实要想恢复数据库,大可不必先删除my_mongodb库,只要说明-drop参数,就可以在恢复的时候先删除表然后再向表中插入数据。


0 0
原创粉丝点击