五、数据库的备份与恢复

数据备份
• 备份数据所有库到当前目录下的dump目录下
# mongodump [ --host ip 地址 --port 端口 ]
eg:[root@db1 ~]# ln -s /usr/local/mongodb/bin/mongodump /sbin/
[root@db1 ~]# mongodump -d student -o ./bak
2021-07-07T05:14:12.250-0400 writing student.student to
2021-07-07T05:14:12.250-0400 writing student.col to
2021-07-07T05:14:12.251-0400 done dumping student.student (2 documents)
2021-07-07T05:14:12.251-0400 done dumping student.col (1 document)
[root@db1 ~]# ls /root/bak/student/
col.bson col.metadata.json student.bson student.metadata.json
• 备份时指定备份的库和备份目录
# mongodump [ --host ip地址 --port 端口 ] -d 数据库名 -c 集合名 -o 目录
目录无需事先创建 备份时指定即可!!!
• 查看bson文件内容
[root@db1 ~]# bsondump ./bak/student/col.bson
{"_id":{"$oid":"60e568f9f6b234b0372cf7a4"},"title":"MongoDB 教程","description":"MongoDB 是一个 Nosql 数据库","by":"MongoDB中文网","url":"http://www.mongodb.org.cn","tags":["mongodb","database","NoSQL"],"likes":100.0}
2021-07-07T05:18:05.204-0400 1 objects found
[root@db1 ~]# bsondump ./bak/student/student.bson
{"_id":{"$oid":"60e55d71f6b234b0372cf79e"},"id":"001","name":"zhangsan","class":"jsj1b"}
{"_id":{"$oid":"60e55d82f6b234b0372cf79f"},"id":"002","name":"ls","class":"jsj1b"}
2021-07-07T05:18:32.889-0400 2 objects found
数据恢复
• 语法格式
– mongorestore --host IP地址 --port 端口 -d 数据库名 [ -c 集合名 ] 备份目录名
在这儿我们先删除student库
> use student
switched to db student
> db
student
> db.dropDatabase()
{ "dropped" : "student", "ok" : 1 }
> use admin
switched to db admin
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
上述操作发现student库已经被删除了
[root@db1 ~]# mongorestore -d student /root/bak/student //恢复数据库
[root@db1 ~]# mongorestore -d student -c student /root/bak/student/
[root@db1 ~]# mongorestore -d student -c student /root/bak/student/student.bson
[root@db1 ~]# mongorestore -d student -c col /root/bak/student/col.bson

 

posted @ 2021-07-07 17:37  落樰兂痕  阅读(75)  评论(0编辑  收藏  举报