本节我们来介绍一下 MongoDB 中如何对数据进行备份与恢复。
在 MongoDB 中我们可以使用 mongodump 命令来对 MongoDB 进行数据备份,该命令可以导出所有数据到指定目录中,也可以通过参数将导出数据转存的服务器。其语法格式如下:
mongodump -h dbhost -d dbname -o dbdirectory
参数说明如下:
【示例】假设在电脑本地(127.0.0.1)的 27017 端口运行 MongoDB 服务,然后打开命令提示符(CMD)窗口并进入 MongoDB 安装目录下的 bin 目录,最后输入 mongodump 命令,运行结果如下:
C:\Users\79330>D:
D:\>cd install/MongoDB/bin
D:\install\Mongodb\bin>mongodump
2021-02-25T11:22:39.468+0800 writing admin.system.version to
2021-02-25T11:22:39.516+0800 done dumping admin.system.version (1 document)
2021-02-25T11:22:39.516+0800 writing cdsy.course to
2021-02-25T11:22:39.517+0800 done dumping cdsy.course (3 documents)
mongodump 命令将连接到运行于 127.0.0.1:27017 的 MongoDB 服务器上,并将服务器中的所有数据备份到 MongoDB 安装目录下的 /bin/dump/ 目录下。
下表中列举了可以与 mongodump 命令一起使用的参数列表:
语法 | 描述 | 实例 |
---|---|---|
mongodump --host HOST_NAME --port PORT_NUMBER | 该命令将备份所有 MongoDB 数据 | mongodump --host cdsy.xyz --port 27017 |
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY | 该命令将仅备份指定路径上的指定数据库 | mongodump --dbpath /data/db/ --out /data/backup/ |
mongodump --collection COLLECTION --db DB_NAME | 该命令将备份指定数据库的集合 | mongodump --collection mycol --db test |
要想还原备份的数据,您可以使用 MongoDB 的 mongorestore 命令,此命令会从备份目录还原所有数据,语法格式如下:
mongorestore
【示例】下面通过一个简单的示例演示一下 mongorestore 命令的使用:
D:\install\Mongodb\bin>mongorestore
2021-02-25T13:26:27.757+0800 using default 'dump' directory
2021-02-25T13:26:27.775+0800 preparing collections to restore from
2021-02-25T13:26:27.776+0800 reading metadata for cdsy.course from dump\cdsy\course.metadata.json
2021-02-25T13:26:27.791+0800 restoring cdsy.course from dump\cdsy\course.bson
2021-02-25T13:26:27.800+0800 restoring indexes for collection cdsy.course from metadata
2021-02-25T13:26:27.813+0800 finished restoring cdsy.course (3 documents)
2021-02-25T13:26:27.814+0800 done