言简意赅,步骤如下:
- 连接mongo
mongo - 进入admin数据库
use admin - 创建管理员账户
db.createUser({ user: "adminName", pwd: "adminPassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 顾名思义即超级管理员,后续可以在命令行通过类似mysql连接数据库的方式访问到数据库的所有内容,操作如下:
mongo -u root -p 然后输入密码:adminPassword - 验证第3步用户添加是否成功
db.auth("adminName", "adminPassword")# 如果返回1,则表示成功。db.auth()方法理解为 用户的验证功能exit #退出系统 - 修改配置
sudo vim /etc/mongod.conf
找到#security:取消注释,修改为:security:authorization: enabled #!!!注意首行空两个,缩进错误将会导致第6步重启失败 重启mongodbsudo service mongod restart- 进入mongodb,用第3步的 管理员账户登录,用该账户创建其他数据库管理员账号
use admindb.auth("adminName", "adminPassword") 新建你需要管理的mongodb 数据的账号密码。use yourDatabasedb.createUser({ user: "yourUser", pwd: "yourPassword", roles: [{ role: "dbOwner", db:"yourDatabase" }] })# dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等- 新建数据库读写账户
use yourdatabasedb.createUser({ user: "yourUser2", pwd: "yourPassword2", roles: [{ role: "readWrite",db: "yourDatabase" }] })# 该用户用于该数据的读写,只拥有读写权限。 - 现在数据的用户名和密码就建好了。
使用:mongodb://yourUser2:yourPassword2@localhost/yourDatabase来链接
- 连接mongo