MongoDB 3.6.3实现仅特定数据库(MYDB)认证的配置方法
实现MongoDB部分数据库认证、部分免认证/独立认证的方案
前提条件
确保你的MongoDB 3.6.3实例已开启认证模式:
- 启动时添加
--auth参数,或者在配置文件中设置:security: authorization: enabled
1. 给其他数据库配置独立认证账号(以SECONDDOC为例)
如果你希望SECONDDOC使用单独账号认证,先用管理员用户连接到admin库,再执行以下命令:
// 切换到SECONDDOC库 use SECONDDOC // 创建该库专属用户 db.createUser( { user: "second_db_user", pwd: "your_second_pwd", roles: [ { role: "readWrite", db: "SECONDDOC" } ] // 可根据需求调整为read等权限 } )
2. 配置SECONDDOC免认证访问(可选)
如果要让SECONDDOC允许无认证直接访问,同样用管理员账号执行:
use SECONDDOC // 创建匿名用户(空用户名+空密码) db.createUser( { user: "", pwd: "", roles: [ { role: "readWrite", db: "SECONDDOC" } ] // 按需设置权限 } )
3. 连接测试
- 连接MYDB(必须认证):
方式一:连接时直接指定认证信息
方式二:连接后手动认证mongo MYDB -u myusename -p passwordmongo use MYDB db.auth("myusename", "password") - 连接SECONDDOC:
- 若配置了独立账号:
mongo SECONDDOC -u second_db_user -p your_second_pwd - 若配置了免认证:
mongo SECONDDOC
- 若配置了独立账号:
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

