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

本文介绍如何在MongoDB中创建不同权限级别的用户,包括管理员用户、普通用户及超级管理员用户,并提供Python连接MongoDB的方法及注意事项。
部署运行你感兴趣的模型镜像

目录

创建管理员用户

创建普通用户

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

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

 

游标陷阱

 

 

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值