Windows环境下Mongodb设置账户密码及,账户创建,账户修改,账户删除,账户权限修改。

作者:保证能运行,运行不了评论留言。每日必看csdn,解答。作者踩了无数坑。。。。。

一·设置数据库管理员
1打开cmd
2.cd到 安装路径(…\Mongodb\bin)
3.输入mongo.exe,启动
4.输入use admin 切换到admin数据库
5.输入 db.createUser({user:“myAdmin”,pwd:“123456”,roles:[{role:“userAdminAnyDatabase”,db:“admin”}]})
就创建了一个管理员账户 myAdmin 123456
6.输入db.auth({user: “myAdmin”, pwd: “12345”}) 返回1成功
二.修改配置文件
还是安装目录下,用编辑器打开mongod.cfg,取消 security的注释,修改成:

security:
   authorization: enabled。

注意写法 上面一种不行,:与enabled之间有空格,如何服务启动不了就是这个问题。

在这里插入图片描述

使用如下命令重启MongoDB服务:
net stop Mongodb
net start Mongodb
再次连接数据库就需要账户和密码验证了。

三·针对具体数据库创建账户、密码

1.使用use 自己想要添加的数据库 例如

use list 切换到list数据库中

2.运行 db.createUser({user:“xxx”,pwd:“123”,roles:[{role:“readWrite”,db:“admin”}]}) 这里的db:admin是知道某个数据库
给list数据库创建了xxx

四.常用命令
注意:如果进入安全模式下面的命令有些用不了,请删除之前的配置那一项.security

show dbs 查看数据库

use xxx 进入xxx数据库

show users 查看当前数据库用户权限

db.createUser({user:“xxx”,pwd:“123”,roles:[{role:“readWrite”,db:“test”}]}) 创建xxx用户,密码为123到test数据库

db.changeUserPassword(“xxx”,“123456”); 修改xxx用户密码为123456
db.updateUser(“xxx”,{pwd:“123456”});

db.updateUser(“xxx”,{roles:[ {role:“read”,db:“test”} ]}) 修改用户权限
注:updateuser它是完全替换之前的值,如果要新增或添加roles而不是代替它
则使用方法: db.grantRolesToUser() 和 db.revokeRolesFromUser()

db.dropUser(‘xxx’) 删除xxx用户,注意要先进入某个数据库

权限详解
内建角色:
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色: clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色: backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色: root; 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
内部角色: __system;

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以告诉你如何实现这样的接口。首先,你需要使用Node.js编写一个后端应用程序来处理用户的请求。这个应用程序可以使用任何数据库系统来存储用户账号密码信息,例如MySQL、MongoDB等。 在应用程序中,你需要创建两个接口,一个用于获取用户账号密码信息,另一个用于删除用户账号密码信息。创建这两个接口的代码如下所示: ``` // 获取用户账号密码接口 app.get('/api/user/:username', function(req, res) { // 获取请求参数中的用户名和密码 var username = req.params.username; // 在数据库中查询用户信息 db.query('SELECT password FROM users WHERE username = ?', [username], function(err, results) { if (err) { console.error(err); res.status(500).send('获取用户信息失败'); } else { if (results.length > 0) { // 返回查询结果中的密码 res.send(results[0].password); } else { // 如果用户不存在,则返回错误信息 res.status(404).send('用户不存在'); } } }); }); // 删除用户账号密码接口 app.delete('/api/user/:username', function(req, res) { // 获取请求参数中的用户名和密码 var username = req.params.username; // 在数据库中删除用户信息 db.query('DELETE FROM users WHERE username = ?', [username], function(err, results) { if (err) { console.error(err); res.status(500).send('删除用户信息失败'); } else { // 返回删除成功的信息 res.send('删除用户信息成功'); } }); }); ``` 在这个代码中,我们使用Express框架创建了两个RESTful API接口,一个用于获取用户账号密码信息,另一个用于删除用户账号密码信息。在获取用户信息接口中,我们从请求参数中获取到要查询的用户名,并且使用数据库查询获取到用户密码后返回给客户端。如果用户不存在,则返回错误信息。在删除用户信息接口中,我们同样从请求参数中获取到要删除的用户名,并且使用数据库操作删除该用户信息。如果删除成功,则返回删除成功的信息,否则返回错误信息。 希望这个回答能够帮助到你。如果你有其他问题,可以继续问我。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值