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 @ 2020-02-20 19:59  风间影月  阅读(243)  评论(0编辑  收藏  举报