MongoDB 创建管理员用户 Python 连接,其他机器访问,游标陷阱

目录

创建管理员用户

创建普通用户

创建能操作所有数据库的管理用户

Python 连接有密码的 MongoDB

允许其他机器访问

游标陷阱



创建管理员用户

没有权限操作普通数据库

use admin
db.createUser(
    {
      user:'x',
      pwd:'y',
      roles:[{role:'userAdminAnyDatabase',db:'admin'}]
     }
)
  • 切换到 admin 数据库
  • 账号名 x,密码 y,角色为 userAdminAnyDatabase,控制的数据库为 admin
  • 在配置文件 mongodb.cfg 添加如下两行内容

正常使用客户端

./mongo -u '用户名' -p '密码' --authenticationDatabase '数据库'

操作数据库会报错:

 

创建普通用户

对 example 数据库有读写权限

use example
db.createUser(
    {
     user:'name',
     pwd:'namepwd',
     roles:[
            {role:'readWrite',db:'example'},
            {role:'read',db:'example'}
           ]   
     }
)

添加了后本地的链接不上了,

重新配置

 

创建能操作所有数据库的管理用户

因为管理员能创建其他用户,但不能自己访问数据库

db.createUser(
    {
     user:'root',
     pwd:'zjk12345',
     roles:['root']
    }
)

连接配置如上,就可以操作数据库了

 

Python 连接有密码的 MongoDB

需要用 URI :

mongodb://用户名:密码@数据库地址/数据库名

几种连接方式:

根用户 root:mongodb://root:zjk12345@localhost 不需要指明数据库

没有权限限制,端口默认本地数据库:mongodb://localhost

有账号密码,端口默认本地数据库:mongodb://root:zjk12345@localhost

有账号密码,远程端口默认数据库:mongodb://root:zjk12345@10.22.212.90

连接没有权限,端口为 8001 远程数据库:mongodb://10.21.30.90:8001

有用户名,数据库:mongodb://root:zjk12345@localhost/chapter_8

 

允许其他机器访问

在配置文件中这里设置为 0.0.0.0

 

游标陷阱

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建MongoDB的超级管理员,您可以按照以下步骤进行操作: 1. 首先,使用mongo命令进入MongoDB的shell环境。命令如下: ``` mongo ``` 2. 进入admin数据库。命令如下: ``` use admin ``` 3. 创建超级管理员用户。您可以使用以下命令创建一个用户名为"root",密码为"123456"的超级管理员用户,并分配"root"角色: ``` db.createUser({user:"root",pwd:"123456",roles:\[{role:"root",db:"admin"}\]}) ``` 4. 进行身份验证,即使用刚创建的超级管理员用户登录。命令如下: ``` db.auth("root","123456") ``` 5. 确认登录成功后,您可以执行其他操作,如查看数据库、查看当前所在数据库、获取当前数据库的所有用户等。例如,您可以使用以下命令查看当前数据库的所有用户: ``` db.getUsers() ``` 请注意,上述命令中的用户名和密码仅用于演示,实际使用时应设置更强的密码来确保安全性。另外,为了使角色有效,您还需要在启动MongoDB服务时加入--auth参数进行身份验证。 参考资料: \[1\] 引用内容来源:mongodb安装成功之后是没有超级管理员的,需要我们自行创建。默认情况下,mongodb默认有三个集合,分别为admin,config,local,我将会在admin这个集合上创建超级管理员,也就是添加用户与分配角色。 \[2\] 引用内容来源:开发过管理后台的同学们多多少少都接触过权限管理,所谓的权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。常用的还是基于角色的权限模型(RBAC),mongodb用户角色管理也是基于RBAC模型。知道了这些我们可以带着问题去做实验,学习mongodb的权限管理。关于mongodb权限管理的更多参考可以查看官方的文档手册,mongodb用户管理方法。 \[3\] 引用内容来源:想让角色有效mongodb服务必须加入auth验证 根据自己的路径设置 binpath sc create MongoDB_Auth binpath=“D:\MongoDB\bin\mongod.exe --dbpath D:\MongoDB\data\db --logpath D:\MongoDB\log\mongo.log --logappend --auth --service” 开启验证之后 可以用账号密码登录 mongo admin -u admin -p 123。 #### 引用[.reference_title] - *1* *2* [mongodb权限管理篇](https://blog.csdn.net/Y00010010/article/details/123945756)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [mongodb创建管理用户](https://blog.csdn.net/qq_40009711/article/details/88700391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值