mongodb中有工具mongodump和mongorestore提供了非常方便的对数据库备份与恢复功能。可以在命令后面加 --help
选项查看两个工具的帮助文档。
1 | / # mongodump --help |
MongoDB备份
mongodump备份命令语法:
1 | > mongodump -h dbhost -d dbname -o dbdirectory |
-h
: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017-d
: 需要备份的数据库实例,例如:test-o
:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立
备份指定数据库:
1 | > mongodump -h 127.0.0.1:27017 -d local -o D:\Test\aatt |
备份所有数据库:
1 | > mongodump --host 127.0.0.1 --port 27017 |
如果mongodb设置了密码,则命令格式为:
1 | > mongodump --host localhost --port 27017 -u dbUser -p dbPassword -d mydb --out /home/dbbackup |
或者如下的格式:
1 | > mongodump -h 127.0.0.1:27017 -u admin -p 123456 -d test -o /data/backup |
MongoDB恢复
mongorestore 恢复备份命令语法:
1 | > mongorestore -h <hostname><:port> -d dbname <path> |
--host <:port>, -h <:port>
: MongoDB所在服务器地址,默认为: localhost:27017--db , -d
:需要恢复的数据库实例,该名称与备份时的名称可以不一致--drop
: 恢复的时候,先删除当前数据,然后恢复备份的数据。<path>
:mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。
你不能同时指定和 –dir 选项,–dir也可以设置备份目录。 --dir
: 指定备份的目录
恢复备份数据到指定的服务器数据库中:
1 | > mongorestore -h 127.0.0.1:27017 -d test2 D:\Test\aatt\local |
Alpine系统下的MongoDB备份与恢复
Alpine系统下使用MongoDB,需要安装MongoDB包: apk add mongodb
。如果要使用备份与恢复功能,需要安装 mongodb-tools
包:apk add mongodb-tools
。
1 | alpine:edge |