《MongoDB一步一步学开发》(Windows10)
八、数据库的备份与恢复
1. MongoDB数据备份(mongodump)
此MongoDB是以4.2.0版本为例,和以往版本命令比较略有差异。
MongoDB中我们使用mongodump命令来备份MongoDB数据。
mongodump命令可以导出所有数据到指定目录中。
mongodump命令可以通过参数指定导出的数据量级转存的服务器。
mongodump命令脚本语法:
>mongodump /help
以上命令可以查看mongodump命令的所有参数及使用注释,也可以使用mongodump --help命令。
备份举例:
① 使用mongodump命令备份所有有数据的数据库
在本地使用 27017 启动你的mongod服务,放于后台执行,不要关闭。
打开命令提示符窗口,进入MongoDB安装目录的bin目录输入命令mongodump:
执行以上命令后,客户端会连接到ip为 127.0.0.1 端口号为 27017 的MongoDB服务上,并备份所有数据到 bin/dump/ 目录中。
② 使用mongodump命令备份数据库到制定文件夹
语法如下:
mongodump /out:/BACKUP_DIRECTORY
在本地使用 27017 启动你的mongod服务,打开命令提示符窗口,进入MongoDB安装目录的bin目录输入下列命令
mongodump /out:/MongoDB/mongobak/
在MongoDB安装所在磁盘内,自动创建mongobak文件夹,并将数据库备份到里面。
③ 备份指定的数据库
备份名为database1的数据库到c盘MongoDB文件中的mongobak文件夹
mongodump -d database1 /out c:/MongoDB/mongobak/
输入上面命令后,即可看到名为database1的数据库被备份到C:\MongoDB\mongobak指定文件夹内。
2. MongoDB数据恢复(mongorestore)
使用 mongorestore 命令来恢复备份的数据。
mongorestore命令脚本语法:
>mongorestore /help
用以上命令可以查看mongorestore命令的所有参数及使用注释。
① 恢复所有默认备份的数据库到MongoDB中
备份所有数据库(参考:八、1.①)
删除现有数据库(参考:四、4.)
执行mongorestore命令,恢复所有默认备份的数据库
mongorestore
② 恢复指定位置备份的数据库
mongorestore 命令格式
mongorestore -h 主机:端口 -d 要采用的DB名 备份目录下的db子目录
例如:
备份名为database1的数据库到c盘MongoDB文件中的mongobak文件夹(参考:八、1.③)
删除现有数据库database1(参考:四、4.)
从c盘MongoDB文件中的mongobak文件夹恢复备份的名为database1的数据库
mongorestore --db database1 c:/MongoDB/mongobak/database1
mongorestore /db database1 c:/MongoDB/mongobak/database1
mongorestore /d database1 c:/MongoDB/mongobak/database1
以上命令,参数–db、/db、/d效果一样