ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MongoDB-3 GUI客户端工具与用户权限

2020-02-20 20:00:36  阅读:155  来源: 互联网

标签:admin MongoDB GUI 用户 连接 root 数据库 客户端


引子

不论是mysql或者redis或者es,我们都会使用远程的客户端工具来连接数据库server,那么目前的linux上锁安装的MongoDB就是server端,我们需要有一个客户端来进行可视化的管理,常用的可以使用Navcat来操作,当然使用其他的GUI工具也都行。

GUI 连接 MongoDB

  • 创建连接
    屏幕快照 2020-02-04 14.28.33

  • 填入你的host所在ip,注意需要内网互通

  • 双击连接如果图标可以点亮,说明连接没问题

  • 如下图,创建连接1后,school为数据库,3为集合,也就是创建的表

创建MongoDB用户账号权限

上述的创建连接是以匿名的方式去连接的,这样在公网环境下回很危险,和redis一样,都要创建用户和密码,才能连接到MongoDB,否则暴露在公网环境在忘记关闭端口的情况下会被黑客攻击。

  • 修改mongodb.conf,auth改为true就代表启用授权模式:

  • 重启mongodb(步骤略,参考上一篇博文)

  • 进入到mongodb控制台:

    mongo
    

  • 在控制台输入如下命令:

    • 使用admin库,账号再这里创建

      use admin
      
    • 创建用户,账号密码分布为root,root,roles为角色root,代表超级权限

      db.createUser({user:"root",pwd:"root",roles:["root"]})
      
    • 附:更多角色参考如下:

      角色名称 说明
      Read 允许用户读取指定数据库
      readWrite 允许用户读写指定数据库
      dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
      userAdmin 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
      clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
      readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
      readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
      userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
      dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
      root 只在admin数据库中可用。超级账号,超级权限
    • 登录:

      db.auth("root","root")
      
    • 查看用户:

      show users
      
    • 截图:

使用Navcat重新连接

使用密码方式登录,输入root/root,随后即可打开连接

SpringBoot整合 MongoDB

yml 配置文件

spring:
  data:
    mongodb:
      uri: mongodb://root:root@192.168.1.71:27017
      database: lou1yan

MongoDB 的CRUD(代码略)

可以使用MongoRepository或者mongoTemplate实现基本的CRUD

标签:admin,MongoDB,GUI,用户,连接,root,数据库,客户端
来源: https://www.cnblogs.com/leechenxiang/p/MongoDB3-GUI-ke-hu-duan-gong-ju-yu-yong-hu-quan-xi.

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有