时间:2021-05-24
写在前面
本文已经假设你已经安装好了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的意思是删除库中原来的数据库并将数据库还原上去
此命令是在控制台中执行
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
背景及原理数据库的备份是灾难恢复的最后一道屏障,不管什么类型的数据库都需要设置数据库备份,MongoDB也不例外。MongoDB3.0后,数据库可以采用Wire
任何数据库都离不开日常的备份与恢复,这二者是数据库安全的前提,MongoDB的备份与恢复方法一般而言都采用自带的工具来进行。在开始讲述备份之前,需要首先了解两个
windows下面mongodb数据库备份和恢复我可以讲数据备份到c:\data\dump目录下面,首先创建这个路径。然后进入到mongodb的bin目录下面我
加强数据库资源的备份与恢复。电子商务网站的核心环节是数据库资源,为了有效保障数据库资源的安全性应当加强数据备份与恢复机制的有效建立,这是提升电子商务网站数据库安
数据库备份和数据恢复的重要性,我想大家都知道,这里就举例说明如何操作数据备份,数据恢复的实例:创建测试数据创建db:testdb,collection:user