mongoDB数据库添加账号相关问题

MongoDB默认没有权限,设置权限步骤如下:

1、以系统管理员的方式运行powershell

在这里插入图片描述

2、连接数据库mongo

在powshell命令行中输入mongo

3、查看数据库 show dbs

4、切换到admin数据库 use admin

创建普通用户前,需先创建超级管理员账户

5、创建超级管理员账号 db.createUser()

在这里插入图片描述

user表示账户名,pwd表示密码,roles是一个数组,表示角色(root为超级管理员, readWrite为普通用户)
注意:user、pwd、roles的写法都是固定的

6、创建普通账号,需要先切换到普通账户的数据库 use blog(blog是一个数据库)

在这里插入图片描述

exit表示退出数据库

7、卸载原有的服务

注意:MongoDB数据库默认没有设置权限,所以设置权限后,需卸载原先的服务
在这里插入图片描述

8、创建服务

在这里插入图片描述
命令:mongod --logpath=‘D:\MongoDB\Server\4.1\log\mongod.log’ --dbpath=‘D:\MongoDB\Server\4.1\data’ --install --auth
logpath:数据库的日志目录(安装mongodb的目录)
dbpath:数据库的存储目录(安装mongodb的目录)

9、判断服务是否安装成功

在这里插入图片描述

10、在项目中使用账号连接数据库

mongoose.connect(‘mongodb://用户名:密码@localhost:端口/数据库名’)

mongoose.connect('mongodb://miao:miao@localhost:27017/blog')

结束。。。。。。

当你:下一次在项目中创建一个新数据库出现权限问题时↓

有一点需要清楚,MongoDB的用户权限和数据库是绑定的。也就是创建一个新的数据库,并在数据库中插入数据的正确操作应该是需要创建与之对应的用户。
有如下几个步骤:

  1. 输入use admin,进入admin数据库,root用户需要在admin数据库中认证。
  2. 输入db.auth(‘root’,‘root’)超级用户进行认证
  3. 创建数据库(在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
    在这里插入图片描述

创建账户时,一定要切换到对应的数据库,因为只有在对应的数据库创建的用户才是这个数据库的用户, 才能成授权, 但是创建用户的信息存放在admin库中,这里已经切换到runnoob数据库了

  1. 输入db.createUser({user: ‘run’,pwd: ‘run’,roles: [ { role: ‘readWrite’, db: ‘runoob’} ]} )创建miao用户,并为它指定数据库为runoob。
  2. 输入db.auth(‘run’,‘run’)切换认证用户。
  3. 输入db.aaa.insert({“name”:“miao”}),创建一条数据。 在这里插入图片描述
    在这里插入图片描述

这才是创建一个数据库,并插入一条数据库的正确姿势,并且一定记住几点:

 数据库和用户是绑定的,光创建一个超级用户并不能操作在其他新建的数据库中插入数据

在切换数据库时,先切换认证用户,不然会出现too many users are authenticated的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要设置MongoDB账号密码,可以按照以下步骤进行操作: 1. 进入MongoDB的安装目录的bin目录。可以使用命令`cd /mongodb安装目录/bin`进入。 2. 打开MongoDB的配置文件mongod.cfg,可以在bin目录下找到。在该文件中开启权限验证功能,在security下添加`authorization: enabled`。 3. 保存并退出配置文件。 4. 重启MongoDB服务,以使配置生效。 5. 使用mongo命令连接到MongoDB数据库,并登录超级管理员账号。 有两种方式可以登录超级管理员账号: - 方式一:使用以下命令登录 ``` mongo use admin db.auth('admin', '密码') ``` 其中'admin'是超级管理员的账号,'密码'是超级管理员的密码。 - 方式二:使用以下命令登录 ``` mongo admin -u admin -p 密码 ``` 其中'admin'是超级管理员的账号,'密码'是超级管理员的密码。 通过以上步骤,你就可以成功设置MongoDB账号密码了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [mongodb 设置用户账号密码](https://blog.csdn.net/weixin_42140261/article/details/105242450)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MongoDB设置登录账号和密码](https://blog.csdn.net/hbtj_1216/article/details/120875957)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值