当前位置: 首页 > news >正文

本机 MongoDB 注册系统服务、启用security认证

目录

一、注册系统服务。

二、MongoDB 启用security(密码)认证。(Python)


一、注册系统服务。

  • Win+ R  =》services.msc。若在服务中找不到 MongoDB 服务,MongoDB 可能是非服务方式安装的。也就可以通过手动设置与安装注册系统服务。

  1. 找到 mongod.exe 所在目录。通常是安装 MongoDB 时位于 /bin 目录下。
  2. 打开命令提示符(需管理员启动),进入到 /bin 目录下。
  3. 指定配置文件并安装对应的服务。其中 mongod.cfg 或 mongod.cong 是配置文件。
  4. 按顺序执行对应的命令即可。--serviceName 后面的参数可自定义。

d:cd D:\mongodb\binmongod.exe --config "D:\mongodb\bin\mongod.cfg" --install --serviceName "MongoDB"net start MongoDB
  • 若已经存在,可以先卸载,再重新注册即可。
mongod.exe --remove --serviceName "MongoDB"
  • 完成上述操作后,如我自定义了服务名称:mongodb。

二、MongoDB 启用security(密码)认证。(Python)

  • 个人本地开发(非生产环境),建议无需配置密码。

  • 因为 MongoDB 配置文件中默认不对外暴露、其次省去每次连接输入密码。


  • 数据库需要对外网开放、存储敏感数据等情况时,建议配置密码。

  • 本机访问 MongoDB 简易配置密码操作如下。注意需提前安装对应 python 操作MongoDB 驱动包。

pip install pymongo
  • 默认连接本地 MongoDB 是无需密码即可连接,因为默认不开启密码认证。

from pymongo import MongoClienttry:client = MongoClient("mongodb://localhost:27017/")   #默认无密码连接dbs = client.list_database_names()     #读取 MongoDB 中的所有数据库print(dbs)  #['admin', 'config', 'local']
except Exception as e:print(str(e))

  • 启用认证。
  1. 修改配置文件。取消注释 security ,并使用 authorization: enabled 开启认证。
  2. 停止正在运行的 MongoDB 服务,重新启动 MongoDB 服务,确保配置文件修改生效。
  3. 在 python 文件中写代码创建管理员、设置密码并赋予权限。

from pymongo import MongoClienttry:client = MongoClient("mongodb://localhost:27017/")admin_db = client["admin"]  #admin数据库中创建管理员#创建管理员用户admin_db.command("createUser","root",  #userpwd="test123123",   #passwordroles=["root"]   #最高权限)print("管理员用户已创建")except Exception as e:print(str(e))
  • 生效后。再执行之前的无密码连接就会提示验证失败:Command listDatabases requires authentication, full error: {'ok': 0.0, 'errmsg': 'Command listDatabases requires authentication', 'code': 13, 'codeName': 'Unauthorized'} 。
  • 只需创建 MongoDB 连接时带上用户名与密码即可。
from pymongo import MongoClienttry:client = MongoClient("mongodb://root:test123123@localhost:27017/")  #启用security认证dbs = client.list_database_names()   #读取 MongoDB 中的所有数据库print(dbs)  #['admin', 'config', 'local']admin_db = client["admin"]  #选择admin数据库users_collection = admin_db["system.users"]  #获取系统用户集合root_user = users_collection.find_one({"user": "root"})   #获取root用户信息,返回单个文档print(root_user)
except Exception as e:print(str(e))

http://www.dtcms.com/a/568612.html

相关文章:

  • Nginx代理配置的“双斜杠陷阱“:从IP到域名的完整排查与解决指南
  • 三水容桂网站制作天眼查企业信息查询平台
  • HarmonyOS鸿蒙开发:Swiper组件实现精美轮播图
  • 互联网大厂前端面试实录:HTML5、ES6、Vue/React、工程化与性能优化全覆盖
  • 宣威网站建设公司做钓鱼网站要什么工具
  • VBA中类的解读及应用第二十九讲: 最简单的类属性建立
  • 金蝶用友数据分析:奥威BI解锁ERP智能决策新纪元
  • 用Python做数据分析之数据表清洗
  • AI+CMIP6数据分析与可视化、降尺度技术与气候变化的区域影响、极端气候分析
  • 基于深度神经网络的手术机器人轨迹精准定位与智能存储方案编程(总集下)
  • 【计算机网络】计算机网络体系结构与参考模型
  • 佛山外贸网站建设资讯微信小程序制作教程视频
  • ubuntu22.04 GPU环境安装mindspore
  • 从vw/h到clamp(),前端响应式设计的痛点与进化
  • VAE可以被用到扩散模型中,用于编码和解码。但是GAN网络不行?
  • 《算法闯关指南:优选算法--前缀和》--31.连续数组,32.矩阵区域和
  • 《Flutter全栈开发实战指南:从零到高级》- 10 -状态管理setState与InheritedWidget
  • 网站维护内容梅江区建设局网站
  • 3D工艺数字化:让灵活用工不再难
  • 【pwn】shellcode构造
  • LandPPT - AI驱动的PPT生成平台
  • 制作音乐网站实验报告建筑工程公司起名大全
  • 贪玩传奇手游官方网站自己买空间让网络公司做网站好吗
  • OSPF错题笔记:区域与LSA完全解析
  • 【Agent】ACE(Agentic Context Engineering)源码阅读笔记---(1)基础模块
  • 【AI基础篇】长短时记忆神经网络LSTM的解析与应用
  • 供、回水管-连续测量超简单
  • 生成式搜索普及后,GEO决定生存线
  • ublox-M8Q GNSS模组驱动与冷热启动定位设置
  • 类加载内存分析及类的初始化分析