一、环境说明
- 系统:centos 7
- mongodb 4.x以上
关于安装过程,请移步官网步骤,或者使用宝塔–》应用商店安装,很简单。
二、用户配置
- 连接数据库,初始安装完,是没有任何账户和密码的,直接启动就行,
mongo --port 27017
// 执行后进入mongo 命令行,如果没有进入,请根据错误提示修复数据库
- 切换进入 admin数据库,这是默认的一个数据库
use admin
-
初次进入,先创建一个超级账户,具体操作命令,官网学习,基础很简单
db.createUser( { user: "你的超级用户名", pwd: "你的账户密码", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )
- createUser 创建用户,传入键值对数据
- roles 用户的角色组,可以是多个
- role 用户角色
Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限 readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限 userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 root:只在admin数据库中可用。超级账号,超级权限
- db 可操作数据库
-
验证用户是否存在
db.auth(‘你的超级用户名’,‘密码’)
// 返回结果是1,表示 配置用户成 -
接下来你就可以创建其他账户了
三、启动身份验证
-
修改mongodb的配置文件(/etc/mongod.conf)
bindIp 改为0.0.0.0 这样外网也能访问(默认是127.0.0.1,只能在内网访问)
port: 27017
bindIp: 0.0.0.0 -
启用身份验证配置
security:
authorization: enabled -
保存文件,重启mongodb数据库服务器
sudo service mongod restart
四、客户端账户登录连接
- 类似于连接mysql数据库,mongdbo也可以通过可视化客户端连接
- Robo3T、Navicat、DataGrip
- 以下Robo3T的登录截图
至此,恭喜你,mongodb中用户配置搞定。