ubuntu18.04设置mongodb开启认证并添加用户

原文地址:https://dsx2016.com/?p=311

➢ 设置用户

建议在开启认证前创建用户,创建一个超级用户或者对应的数据库用户后,再开启认证并且重启,mongoDB

➢ 创建超级用户

进入mongo命令行面板,进入admin数据库

use admin

创建账户

db.createUser(
  {
    user: "userName",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

user:用户名

pwd:密码

role:userAdminAnyDatabase 超级权限

admin:账户对应的数据库

➢ 查看用户

进入要查看的数据库

use admin

查看用户

show users

➢ 创建普通用户

进入数据库,比如test

use test

创建用户

db.createUser(
  {
    user: "userName",
    pwd: "password",
    roles: [ { role: "readWrite", db: "test" } ]
  }
)

readWrite:读写权限

➢ role规则

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限

root:只在admin数据库中可用。超级账号,超级权限

➢ 开启认证

进入服务器下的etc目录

cd /etc

编辑mongodb.conf文件

vi mongodb.conf

auth改为true

auth = true

➢ 重启mongo

关闭/启动

sudo service mongodb stop 
sudo service mongodb start

➢ node mongose 连接数据库

mongo未开启认证时

`mongodb://localhost/dataBase`

或者

`mongodb://127.0.0.1/dataBase`

dataBase为数据库的名称

如果mongo开启了认证

连接方式为

mongodb://userName:password@localhost/dataBase

加上当前数据库用户名userName和密码password即可

你可能感兴趣的:(代码随笔)