美文网首页
mongoBD--管理员权限、备份与恢复、导入导出

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

作者: changzj | 来源:发表于2018-12-30 21:06 被阅读0次
    • 不开启权限的时候启动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--管理员权限、备份与恢复、导入导出

          本文链接:https://www.haomeiwen.com/subject/iklblqtx.html