服务器初始安装的mongodb数据库是没有账号密码的,并且连接也只是本地连接,操作和管理十分的不方便。
1、进入mongodb
安装目录,我使用的是宝塔安装的
cd /www/server/mongondb/bin
2、进入mongodb
命令行模式
mongo
3、切换到admin
库
use admin
4、设置用户密码
db.creatUser({user:"root", pwd:"密码", roles: ['root']})
5、检测是否成功
db.auth("root", "密码")
如果返回 '1’表示验证成功, 如果是 ‘0’ 表示验证失败。
6、给其他的库设置用户
use test
db.createUser({user:"test", pwd:"123456", roles:[{role:"readWrite", db:"test"}]})
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限
7、配置文件中设置外网访问,开启认证
bindIp: 0.0.0.0
authorization: enabled
重启mongodb
COMMENTS | NOTHING