创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都成都餐厅设计小微创业公司专业提供成都定制网站营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。这篇文章主要介绍mongodb开启身份认证的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
开启身份认证的两种方式
1、连接时使用命令参数 --auth
mongod --auth --port 27017 --dbpath '数据库文件的绝对路径'
2、修改mongod.conf文件
如果你使用配置文件启动mongodb,在配置文件中加入下列内容,这里有两种写法:
YMAL的配置文件格式(mongodb2.6版本之后引入的配置文件格式)
注意:这里有一个大坑,yaml格式的配置文件,要求是同冒号+空格来分隔键值对,否则会解析错误。(当时折腾了很久)
security: authorization: enabled
可以使用命令mongod -f /etc/mongod.conf启动mongodb,如果解析错误,会在终端打印出失败的原因,没有信息说明mongod实例启动成功了!
2.6版本之前的配置文件格式(向后兼容的,所以两种格式的配置可以混用)
auth=true
以上两种修改方式,大家选择一种即可,修改完之后使用命令sudo service mongod restart 重启服务,再使用命令service mongod status查看服务是不是真的启动了,如果显示mongod start/running说明启动成功。之后就启用了角色访问控制,用户只能访问已被授予权限的数据库资源和操作。
小贴士:windows用户可以参考如下命令,将mongodb安装为服务,这样就不用每次都去启动mongod实例
#安装服务 mongod --config "E:\someSoftWare\MongoDB\mongodb.config" --install --serviceName "mongo" #卸载服务 mongod --dbpath "E:\someSoftWare\data\db" --logpath "E:\someSoftWare\data\log\mongodb.log" --remove #启动服务 net start mongo
注意:这里config文件的路径要加双引号("),否则会一直提示找不到文件
使用用户管理员登录数据库
在连接期间进行身份验证
mongo --port 27017 -u "登录名" -p "密码" --authenticationDatabase "数据库名"
如果验证失败会在命令行打印如下信息
连接成功之后再认证 #连接 mongo --port 27017 #进入admin数据库 use admin #在admin数据库中认证 db.auth('用户管理员名称','密码')
验证成功打印1,失败打印0.
使用用户管理员创建其他用户,细化管理。
给某个数据创建具有读权限的用户
#给test数据库添加 db.createUser({ user:"readUser", pwd:'123qwezxc', roles:[ { role:"read", db:"test" } ] })
创建具有读写权限的用户
db.createUser({ user:"readWriteUser", pwd:'123qwezxc', roles:[ { role:"readWrite", db:"test" } ] })
创建具有数据备份权限的用户(只能在admin数据库中添加)
db.createUser({ user:"backupUser", pwd:'123qwezxc', roles:[ { role:"backup", db:"admin" } ] })
注意:db只能指定admin,因为backup和restore角色都在admin数据据库中
创建具有数据备份权限的用户(只能在admin数据库中添加)
db.createUser({ user:"restoreUser", pwd:'123qwezxc', roles:[ { role:"restore", db:"admin" } ] })
mongodb系统内置了很多角色,这里就不一一列举了,可以查看mognodb内置角色,创建符合自己需求的用户。
以上是mongodb开启身份认证的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款