MongoDB的备份与恢复


安装Mongo命令行工具

Mongo提供了一些实用的命令行工具,用于维护数据库。需要独立安装
下载地址:https://www.mongodb.com/try/download/database-tools

备份数据库

备份使用的命令行工具是mongodump.exe。一些常用选项:
/h:指定数据库主机地址,如127.0.0.1xxx.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:指定恢复后新的集合名称,支持通配符。