MongoDB的备份与恢复
安装Mongo命令行工具
Mongo提供了一些实用的命令行工具,用于维护数据库。需要独立安装
下载地址:https://www.mongodb.com/try/download/database-tools
备份数据库
备份使用的命令行工具是mongodump.exe。一些常用选项:
/h:指定数据库主机地址,如127.0.0.1或xxx.com。也可以附上端口号:127.0.0.1:12345
/port:指定数据库端口
/u:指定用户名
/p:指定用户密码
/authenticationDatabase:指定授权数据库名称
/d:指定操作目标数据库
例子
- 备份所有数据库到文件,并使用
gzip压缩,这样更省磁盘空间,但备份速度变慢。
mongodump /h home.com /u root /p 123456 /authenticationDatabase:admin /archive:dump.gz /gzip
- 仅备份
test数据库到文件,不压缩。
mongodump /h home.com /u root /p 123456 /authenticationDatabase:admin /archive:dump /d test
还原数据库
还原使用的命令行工具是mongorestore.exe。
例子
- 从
dump文件还原
mongorestore.exe /h 127.0.0.1 /u root /p 123456 /authenticationDatabase:admin /archive:dump
如果有同名集合,数据会以追加方式导入。如果要用导入的数据完全覆盖现有集合,需要带上/drop参数。
mongorestore.exe /h 127.0.0.1 /u root /p 123456 /authenticationDatabase:admin /archive:dump /drop
- 从
.gz文件中还原。
mongorestore.exe /h 127.0.0.1 /u root /p 123456 /authenticationDatabase:admin /archive:dump.gz /gzip
- 恢复时变更数据库名称,可用于修改数据库名称
mongorestore.exe /h 127.0.0.1 /u root /p 123456 /authenticationDatabase:admin /archive:dump /nsFrom:test.* /nsTo:newdb.*
/nsFrom:指定旧的集合名称,支持通配符。必须配合/nsTo选项使用。
/nsTo:指定恢复后新的集合名称,支持通配符。