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

引子

不论是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

posted @   风间影月  阅读(253)  评论(0)    收藏  举报
编辑推荐:
· 日常问题排查-空闲一段时间再请求就超时
· Java虚拟机代码是如何一步一步变复杂且难以理解的?
· 领域驱动的事实与谬误 一 DDD 与 MVC
· SQL Server 2025 中的改进
· 当数据爆炸遇上SQL Server:优化策略全链路解析
阅读排行:
· 日常问题排查-空闲一段时间再请求就超时
· 揭秘 AI 工具的系统提示词「GitHub 热点速览」
· C# 14 新增功能一览,你觉得实用吗?
· MySQL同步ES的6种方案!
· 解密AI知识库
历史上的今天:
2017-02-20 SSO单点登录的发展由来以及实现原理
点击右上角即可分享
微信分享提示