Mongo的备份和导入
2019-02-26 本文已影响0人
chace_tse
1、MongoDB数据库备份
1、语法:
mongodump -h dbhost -d dbname -o dbdirectory
参数说明:
-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d: 需要备份的数据库实例,例如:test
-o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
### 2、实例:
sudo rm -rf /home/momgodump/
sudo mkdir -p /home/momgodump
sudo mongodump -h 192.168.17.129:27017 -d itcast -o /home/mongodump/
./mongodump -h 127.0.0.1:9430 -d forp-pitaya-cdzq -o /forp/momgo_bak
tar -zcvf my.tar.gz somedirname //将 somedirname等多个文件打包并使用 gzip进行压缩
tar -zcvf tmp_20171015.tar.gz forp-pitaya-zdzq/
tar -zxvf tmp20171015.tar.gz
tar -zxvf my.tar.gz //对 my.tar.gz 进行解压缩并解包
2、MongoDB数据库恢复
### 1、语法:
./mongorestore -h dbhost -d dbname --dir dbdirectory
参数或名:
-h: MongoDB所在服务器地址
-d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
--dir: 备份数据所在位置,例如:/home/mongodump/itcast/
--drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!
### 2、实例:
sudo mongorestore -h 192.168.17.129:27017 -d itcast_restore --dir /forp/mongo_bak/forp_pitaya_cdzq
mongorestore -h --drop
3、将docker外的备份文件复制到docker中然后备份
将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
然后进入到docker容器中进行导入
4、工具下载
MongoDB目前将备份的工具单独打包,需要单独安装;选择对应的工具下载并安装
参考: https://www.mongodb.com/try/download/database-tools