mongoBD--管理员权限、备份与恢复、导入导出

  • 不开启权限的时候启动mongoDB:
windows必须在存放MongoDB文件中的bin下运行
# 开启服务器:
windows:mongod --dbpath E:\MongoDB\data\db(dbpath存储路径)
ubuntu:mongod --bind_ip 192.168.1.118 --port 27018 --dbpath ~/桌面/test1 --replSet rs0
# 开启客户端
windows:mongo
  • 创建超级管理用户
use admin
db.createUser(
    {   
   user:'admin',
    pwd:'123',
    roles:[{role:'root',db:'admin'}]
    }
)
创建成功后退出mongodb客户端, 然后service mongodb stop, 再开启安全认证,
  • 启用安全认证

进入配置文件并修改sudo vi /etc/mongod.conf
启用身份验证
新版本 keys and values之间要加空格, 否则解析会报错
security:
  authorization: enabled

  • 重启启动mongo服务:
linux:sudo service mongodb restart
windows:mongod --dbpath E:\MongoDB\data\db --port 27017 --auth
  • 开启权限后登陆
  • mongo -u username -p password --authenticationDatabase 'admin'

修改普通用户权限或密码

    修改用户:可以修改pwd、roles属性

    注意这里只有超级管理员才有权限修改普通用户的密码和管理权限

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

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

    添加用户权限(切换到有权限操作的数据库下)

    db.grantRolesToUser('username',[{role:'',db:''}])

    移除用户权限(切换到有权限操作的数据库下)

    db.revokeRolesFromUser('username',[{role:'',db:''}])

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

    db.dropUser('username')

    删除用户 (方式二)

   use admin db.system.users.remove({user:'username'})
备份与恢复
  • 如果没有开启权限

备份

mongodump -h 127.0.0.1:27017 -d 数据库名称 -o 数据库备份的路径
mongodump -h 127.0.0.1:27017 -o 数据库备份的路径

恢复

mongorestore -h 127.0.0.1:27017 -d 数据库名称 -c集合名称 --dir 数据库备份文件路径
mongorestore -h 127.0.0.1 -dir 数据库备份文件路径

  • 开启权限

备份

mongodump -u username -p password --authenticationDatabase 'admin' -d dbname -o dbpath

恢复

mongorestore -u username -p password --authenticationDatabase 'admin' -d 数据库名称 --dir 数据库备份文件路径

  • 导出、导入工具:mongoexport、导出工具:mongoimport
    导出参数
  d :数据库名
    c :collection名
    o :输出的文件名
    -type : 输出的格式,默认为json
    f :输出的字段,如果-type为csv,则需要加上-f "字段名",
注:windows设置字段不加引号

导出json

    mongoexport -d class1804 -c books -o 备份数据库的路径/book.json --type json

导出csv

    mongoexport -d class1804 -c books -o 备份数据库的路径/books.csv --type csv -f 'by_user,likes'

  • 导入参数说明:
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 c

你可能感兴趣的:(mongoBD--管理员权限、备份与恢复、导入导出)