Mongodb的备份和恢复与权限


MongoDB 备份(mongodump)


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 ~/Desktop/数据库备份的路径

mongodump -h 127.0.0.1:27017 -o ~/Desktop/数据库备份的路径

恢复备份(mongorestore)

mongorestore -h hostname:port -d dbname --dir path

-h (host): MongoDB所在服务器地址,默认为: localhost:27017

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

--dir: 指定备份的目录

MongoDB数据导入与导出(mongoimport)

导出

mongoexport -d dbname -c collectionname -o file --type json/csv -f field

d :数据库名
c :collection名
o :输出的文件名
-type : 输出的格式,默认为json
f :输出的字段,如果-type为csv,则需要加上-f "字段名"

导出json

mongoexport -d class1804 -c books -o ~/桌面/dump/books.json --type json

导出csv

mongoexport -d class1804 -c books -o ~/桌面/dump/books.csv --type csv -f 'by_user,likes'

导入

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv
d:数据库名
c:collection名
-type:导入的格式默认json
f:导入的字段名
-headerline:如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
-file:要导入的文件

  • 导入json

例:mongoimport -d class1712B -c books --file ~/桌面/dump/books --type json

  • 导入csv

例:mongoimport -d class1712B -c info --file ~/桌面/dump/books --headerline --type csv

权限

修改用户密码(切换到有权限操作的数据库下)

db.updateUser(‘username',{pwd:'456'})

添加用户权限(切换到有权限操作的数据库下)
db.grantRolesToUser('username',[{role:'',db:''}])

移除用户权限(切换到有权限操作的数据库下)
db.revokeRolesFromUser('username',[{role:'',db:''}])

删除用户(方式一)(切换到有权限操作的数据库下)
db.dropUser('username')

删除用户 (方式二)
use admin db.system.users.remove({user:'username'})

你可能感兴趣的:(Mongodb的备份和恢复与权限)