MongoDB免装版踩坑日记之默认用户admin和不被授权的操作

  1. MongoDB有免装版本(类似:mongodb-windows-x86_64-5.0.15.zip),但是该版本需要个人来制作MongoDB的配置。
  • mongod.conf
# mongod.conf

# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: E:/Databases/mongodb5.0.15_x64/data/db
  journal:
    enabled: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: E:/Databases/mongodb5.0.15_x64/data/log/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,0.0.0.0

security:
  authorization: enabled
  • MongoDB的configuration规则:
    http://docs.mongodb.org/manual/reference/configuration-options/
  1. 若如下图选项已开启,则连接MongoDB时需要进行身份验证,否则与MongoDB建立连接后,所有的操作都是不被授权的,也就是不让你做任何增删改查的工作,笔者在这块严重踩坑。由于业务要求,我们必须要有身份验证,所以先将下图画红色方框中的内容注释掉,然后重启MongoDB服务,再次连接MongoDB,创建超级用户。当然很多人肯定会有疑问,为什么不直接使用MongoDB的默认用户admin来进行身份验证连接MongoDB呢?因为不知道admin用户的密码是多少?*~*

在这里插入图片描述


# 没有启用身份验证连接MongoDB
mongo --host=127.0.0.1 --port=27017

  1. 将MongoDB的服务端配置为不启用身份验证后,采用无身份验证连接MongoDB
  • 创建用户管理员账户
mongo --host=127.0.0.1 --port=27017

use admin

# 创建sa用户(super administrator)
db.createUser({user:'sa',pwd:'0416', roles:[{role:'root', db:'admin'}]}) 

# 验证用户
use sa
db.auth("sa","0416")

# 查看用户
show users
  • 更改默认用户admin的密码
use sa

db.changeUserPassword("admin","0416")

db.auth("admin","0416")

在这里插入图片描述

  1. 重新将mongod.conf文件中的security选项的注释取消掉,这时候就可以使用账号和密码来连接MongoDB了。你在使用C渣渣语言进行数据库开发时,就要指定IP、Port、User以及Password了

# 启用身份验连接MongoDB
mongo --host=127.0.0.1 --port=27017 -uadmin -p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓琴儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值