linux下mongodb数据库备份与还原

MongoDb数据库备份还原

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

数据备份

备份命令

mongodump -h dbhost -d dbname -o dbdirectory

-h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d:
需要备份的数据库实例,例如:test

-o:
备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

示例

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

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

数据还原

mongorestore -h <hostname><:port> -d dbname <path> --drop

–host <:port>, -h <:port>:
MongoDB所在服务器地址,默认为: localhost:27017

–db , -d :
需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

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


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

即可.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章