二十、MongoDB 实验——数据备份和恢复
第1关:数据备份
任务描述
本关任务:按照编程要求备份数据库。
相关知识
为了完成本关任务,你需要掌握:
1.掌握 mongodump 备份工具的参数含义;
2.如何使用 mongodump 备份数据。
mongodump 备份工具
mongodump 的参数与 mongoexport(数据导出)的参数基本一致:
参数 参数说明
-h 指明数据库宿主机的IP
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明collection的名字
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件
--authenticationDatabase 验证数据的名称
--gzip 备份时压缩
--oplog use oplog for taking a point-in-time snapshot
使用 mongodump 备份数据
备份工具同导入导出工具类似,都是在命令行进行操作,无需进入客户端。
全库备份(如果数据库未设置用户和密码,可以省略 -uroot -proot 参数)
mongodump -h 127.0.0.1:27300 -uroot -proot --authenticationDatabase admin -o /home/mongod
#备份本地27300端口中root用户的所有数据库到/home/mongod目录下
单个数据库备份
mongodump -h 127.0.0.1:27300 -uroot -proot --authenticationDatabase admin -d test -o /home/mongod/test
#备份本地27300端口中root用户的test数据库到/home/mongod/test目录下
集合备份
mongodump -h 127.0.0.1:27300 -uroot -proot --authenticationDatabase admin -d test -c haha -o /home/mongod/test/haha
#备份27300端口中root用户的test数据库的haha集合到/home/mongod/test/haha目录下
压缩备份库
mongodump -h 127.0.0.1:27300 -uroot -proot --authenticationDatabase admin -d test -o /home/mongod/test1 --gzip
#压缩备份本地27300端口中root用户的test数据库到/home/mongod/test1目录下
压缩备份集合
mongodump -h 127.0.0.1:27300 -uroot -proot --authenticationDatabase admin -d test -c haha -o /home/mongod/test1/haha --gzip
#压缩备份27300端口中root用户的test数据库的haha集合到/home/mongod/test1/haha目录下
编程要求
根据提示,在右侧命令行进行操作(以下均在默认端口为27017的客户端进行,无用户和密码;以下**/opt下的路径均不存在,需要自己先行创建**):
分别将 /home/example 目录下的 person.json 和 student.csv 导入到 MongoDB 的 test1 数据库的 person 集合、test2 数据库的 student 集合;
将所有数据库备份到 /opt/mongodb 目录下;
将 test1 数据库备份到 /opt/mongodb_1 目录下;
将 person 集合备份到 /opt/collection_1 目录下;
将 student 集合压缩备份到 /opt/collection_2 目录下;
将 test2 数据库压缩备份到 /opt/mongodb_2 目录下。
测试说明
平台会对你编写的代码进行测试:
如果操作无误,会显示如 测试集1所示结果。
开始你的任务吧,祝你成功!
有任何问题都可以随时关注私信!