备份及恢复

官网下载地址

../../_images/15.png

wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel80-x86_64-100.6.0.tgz
tar zxf mongodb-database-tools-rhel80-x86_64-100.6.0.tgz
cd mongodb-database-tools-rhel80-x86_64-100.6.0/
mv bin/*  /usr/local/mongodb/bin/

备份

 备份指定库
• mongodump --host 127.0.0.1 --port 20000  -u root  --authenticationDatabase admin  -d mydb -o /tmp/mongobak
• 它会在/tmp/目录下面生成一个mydb的目录
• 备份所有库
• mongodump --host 127.0.0.1 --port 20000  -u root --authenticationDatabase admin -o /tmp/mongobak/alldatabase
• 指定备份集合
• mongodump --host 127.0.0.1 --port 20000 -u root --authenticationDatabase admin -d mydb -c c1 -o /tmp/mongobak/
• 它依然会生成mydb目录,再在这目录下面生成两个文件
• 导出集合为json文件
• mongoexport --host 127.0.0.1 --port 20000 -u root --authenticationDatabase admin -d mydb -c c1 -o /tmp/mydb2/1.json

恢复

 恢复所有库
• mongorestore -h 127.0.0.1 --port 20000  --drop dir/ //其中dir是备份所有库的目录名字,其中--drop可选,意思是当恢复之前先把之前的数据删除,不建议使用
• 恢复指定库
• mongorestore -d mydb dir/  //-d跟要恢复的库名字,dir就是该库备份时所在的目录
• 恢复集合
• mongorestore -d mydb -c testc dir/mydb/testc.bson // -c后面跟要恢复的集合名字,dir是备份mydb库时生成文件所在路径,这里是一个bson文件的路径
• 导入集合
• mongoimport     -d mydb -c testc --file /tmp/testc.json