Mongodb数据库的备份与恢复操作实例
2015-01-05 00:00
615 查看
写在前面
本文已经假设你已经安装好了Mongodb(2.6),并且已经开启了auth。
用户
首先我们添加备份和恢复数据所需的用户,这个用户需要有readWrite和userAdmin权限
备份
注:此命令是在控制台中执行
我们使用mongodump来进行数据的备份(注意:mongodump不会备份local数据库中内容)。
mongodump可以通过以下两种方式来进行数据的备份:
连接到mongod或者mongos
直接访问数据文件
这个工具可以备份整个服务器、单个database或者单个collection的数据,也可以通过查询语句只备份collection中的部分数据。
如果不带任何参数直接执行mongodump,那么它会去连接本地(127.0.0.1或者localhost)27017端口上的MongoDB实例,并且会创建名为dump的备份。
以上会使mongodump连接到mongodb.example.net:27017上的mongod,并且把dbtest中的somecollection备份到dump目录下
注意:从Mongodb2.2版本开始,mongodump使用的数据格式与旧版本的mongod实例不兼容。所以不要使用新版本(>=2.2)的mongodump去备份旧数据。
恢复
使用mongodump备份的数据,需要使用mongorestore来恢复。
mongorestore恢复数据的方式与mongodump相对应,也是分为两种:
连接到mongod或者mongos
直接写入到数据文件
mongorestore既可以恢复整个备份也可以恢复一部分。
以上会从/data/backup中恢复数据,其中只恢复testdb中somecollection到mongodb.example.net:27017中。如果不指定--host和--portoption,那么mongorestore会默认使用localhost:27017。
注:在还原时必需在将要还原的数据库上新建将要还原的数据与所属的用户 --drop的意思是删除库中原来的数据库并将数据库还原上去
此命令是在控制台中执行
本文已经假设你已经安装好了Mongodb(2.6),并且已经开启了auth。
用户
首先我们添加备份和恢复数据所需的用户,这个用户需要有readWrite和userAdmin权限
$ mongo $ use admin $ db.auth("admin", "youradminpasswd"); $ use backupdb $ db.addUser({ user: "backup", pwd: "passwd", roles: [ "readWrite", "userAdmin" ] })
备份
注:此命令是在控制台中执行
我们使用mongodump来进行数据的备份(注意:mongodump不会备份local数据库中内容)。
mongodump可以通过以下两种方式来进行数据的备份:
连接到mongod或者mongos
直接访问数据文件
这个工具可以备份整个服务器、单个database或者单个collection的数据,也可以通过查询语句只备份collection中的部分数据。
如果不带任何参数直接执行mongodump,那么它会去连接本地(127.0.0.1或者localhost)27017端口上的MongoDB实例,并且会创建名为dump的备份。
$ mongodump --host mongodb.example.net --port 27017 --db test --collection some --username backup --password passwd
以上会使mongodump连接到mongodb.example.net:27017上的mongod,并且把dbtest中的somecollection备份到dump目录下
注意:从Mongodb2.2版本开始,mongodump使用的数据格式与旧版本的mongod实例不兼容。所以不要使用新版本(>=2.2)的mongodump去备份旧数据。
恢复
使用mongodump备份的数据,需要使用mongorestore来恢复。
mongorestore恢复数据的方式与mongodump相对应,也是分为两种:
连接到mongod或者mongos
直接写入到数据文件
mongorestore既可以恢复整个备份也可以恢复一部分。
$ mongorestore --host mongodb.example.net --port 27017 --db test --collection some --username backup --password password /data/backup
以上会从/data/backup中恢复数据,其中只恢复testdb中somecollection到mongodb.example.net:27017中。如果不指定--host和--portoption,那么mongorestore会默认使用localhost:27017。
注:在还原时必需在将要还原的数据库上新建将要还原的数据与所属的用户 --drop的意思是删除库中原来的数据库并将数据库还原上去
此命令是在控制台中执行
相关文章推荐
- Mongodb数据库的备份与恢复操作实例
- 使用mysql备份工具innobackupex将本地数据直接备份到远端服务器、备份、恢复操作实例
- 使用mysql备份工具innobackupex进行本地数据备份、恢复操作实例
- EDB Postgres Plus PITR系统备份及恢复操作实例
- 使用mysql备份工具innobackupex将本地数据 直接恢复 到远端服务器数据目录操作实例
- DB2离线和在线全备、增量备份及恢复的操作步骤
- DB2离线和在线全备、增量备份及恢复的操作步骤
- Exchange Server 2007的备份与恢复操作
- .NET操作ACCESS数据库(创建,压缩,备份,恢复组件) 类
- 简单冷备份恢复操作步骤
- SQL Server数据库恢复操作实例
- oracle数据备份和恢复以及日志操作
- 用.NET操作ACCESS数据库(创建,压缩,备份,恢复组件) 类
- DB2离线和在线全备、增量备份及恢复的操作步骤
- 实例演示数据库备份与恢复
- DB2离线和在线全备、增量备份及恢复的操作步骤
- Exchange Server 2007的备份与恢复操作
- 简单冷备份恢复操作步骤
- DB2离线和在线全备、增量备份及恢复的操作步骤
- 一个通过数据库镜像实现SPS 2003门户快速备份与恢复的操作手册