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 密码