极客小将

您现在的位置是:首页 » python编程资讯

资讯内容

mongodb怎么认证?

极客小将2020-12-04-
简介开启身份认证的两种方式1、连接时使用命令参数--authmongod --auth --port 27017 --dbpath '数据库文件的绝对路径'2、修改mongod.conf文件如果你使用配置文件启动mongodb,在配置文件

YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

开启身份认证的两种方式YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

1、连接时使用命令参数 --authYaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

mongod --auth --port 27017 --dbpath '数据库文件的绝对路径'

2、修改mongod.conf文件YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

如果你使用配置文件启动mongodb,在配置文件中加入下列内容,这里有两种写法:YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

YMAL的配置文件格式(mongodb2.6版本之后引入的配置文件格式)YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

注意:这里有一个大坑,yaml格式的配置文件,要求是同冒号+空格来分隔键值对,否则会解析错误。(当时折腾了很久)YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

security:   authorization: enabled

YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

可以使用命令mongod -f /etc/mongod.conf启动mongodb,如果解析错误,会在终端打印出失败的原因,没有信息说明mongod实例启动成功了!YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

2.6版本之前的配置文件格式(向后兼容的,所以两种格式的配置可以混用)YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

auth=trueYaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

以上两种修改方式,大家选择一种即可,修改完之后使用命令sudo service mongod restart 重启服务,再使用命令service mongod status查看服务是不是真的启动了,如果显示mongod start/running说明启动成功。之后就启用了角色访问控制,用户只能访问已被授予权限的数据库资源和操作。YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

小贴士:windows用户可以参考如下命令,将mongodb安装为服务,这样就不用每次都去启动mongod实例YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

#安装服务 mongod --config "E:someSoftWareMongoDBmongodb.config" --install --serviceName "mongo" #卸载服务 mongod --dbpath "E:someSoftWaredatadb" --logpath "E:someSoftWaredatalogmongodb.log"  --remove #启动服务 net start mongo

注意:这里config文件的路径要加双引号("),否则会一直提示找不到文件YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

使用用户管理员登录数据库YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

在连接期间进行身份验证YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

mongo --port 27017 -u "登录名" -p "密码" --authenticationDatabase "数据库名"

如果验证失败会在命令行打印如下信息YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

连接成功之后再认证 #连接 mongo --port 27017 #进入admin数据库 use admin #在admin数据库中认证 db.auth('用户管理员名称','密码')

YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

验证成功打印1,失败打印0.YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

使用用户管理员创建其他用户,细化管理。YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

给某个数据创建具有读权限的用户YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

#给test数据库添加 db.createUser({     user:"readUser",     pwd:'123qwezxc',     roles:[         {             role:"read",             db:"test"         }     ] })

创建具有读写权限的用户YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

db.createUser({     user:"readWriteUser",     pwd:'123qwezxc',     roles:[         {             role:"readWrite",             db:"test"         }     ] })

创建具有数据备份权限的用户(只能在admin数据库中添加)YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

db.createUser({     user:"backupUser",     pwd:'123qwezxc',     roles:[         {             role:"backup",             db:"admin"         }     ] })

注意:db只能指定admin,因为backup和restore角色都在admin数据据库中 YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

创建具有数据备份权限的用户(只能在admin数据库中添加)YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

db.createUser({     user:"restoreUser",     pwd:'123qwezxc',     roles:[         {             role:"restore",             db:"admin"         }     ] })

mongodb系统内置了很多角色,这里就不一一列举了,可以查看mognodb内置角色,创建符合自己需求的用户。YaG少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

预约试听课

已有385人预约都是免费的,你也试试吧...