MongoDb数据库备份还原

数据库迁移,可视化工具NoSQLBooster for MongoDB 付费版才具有数据导入功能.代价过高,索性采起命令行web

数据备份

备份命令mongodb

mongodump -h dbhost -d dbname -o dbdirectory
-h:

MongDB所在服务器地址,例如:127.0.0.1,固然也能够指定端口号:127.0.0.1:27017数据库

-d:

须要备份的数据库实例,例如:testjson

-o:

备份的数据存放位置,例如:c:\data\dump,固然该目录须要提早创建,在备份完成后,系统自动在dump目录下创建一个test目录,这个目录里面存放该数据库实例的备份数据。服务器

示例svg

mongodump -h 127.0.0.1:27017 -d 数据库名称 -o 备份文件目录 -u username -p password

数据库若有认证,后面需加上 -u -p工具

数据还原

mongorestore -h <:port> -d dbname --drop
–host <:port>, -h <:port>:

MongoDB所在服务器地址,默认为: localhost:27017命令行

–db , -d :

须要恢复的数据库实例,例如:test,固然这个名称也能够和备份时候的不同,好比test2rest

–drop:

恢复的时候,先删除当前数据,而后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!code

mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。

你不能同时指定

和 --dir 选项,–dir也能够设置备份目录。

–dir:

指定备份的目录

你不能同时指定

和 --dir 选项。

示例

mongorestore -h 127.0.0.1:27017 -d 数据库名称 --dir 备份文件所在目录 --drop -u username -p password

数据库若有认证,后面需加上 -u -p

注意事项

数据库添加管理员.

mongodb开启受权登陆 参见添加连接描述

开始数据库受权后,须要先设置admin数据库的帐号密码

//使用admin数据库
use admin
//给admin数据库添加管理员用户名和密码,用户名和密码请自行设置
db.createUser({user:"admin",pwd:"123456",roles:["root"]})
//验证是否成功,返回1则表明成功
db.auth("admin", "123456")
//切换到要设置的数据库,以test为例
use test
//为test建立用户,用户名和密码请自行设置。
db.createUser({user: "test", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})

此时如若操做test数据库 备份/还原数据 后面须要加参数 -u test -p 123456

便可.

json数据到入到MongoDB
./mongoimport --db taobao --collection dress --file /home/test/taobao.json
在mongodb的安装目录bin目录下执行以上命令.

–db 后跟数据库名

–clollection 后跟集合名(表名)

–file 后跟json文件的路径

若是数据库须要受权,则须要加上 -u 用户名 -p 密码