- 创建全局管理员
- 创建数据库用户
- 数据库用户登录
一、创建全局管理员
使用非安全模式启动 MongoDB,不需要登录,可以操作任何数据库:
启动 MongoDB:
mongod --config /usr/local/etc/mongod.conf
进入 MongoDB 客户端:
mongo
进入数据库 admin:
use admin
创建管理员 admin:
1
2
3
4
5
6
7
8
9
10
11
12
13db.createUser(
{
user: "admin",
pwd: "admin",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase"]
}
)
// 显示用户
show users;
// 更新用户密码 (忘记的时候,不需要授权登录,然后修改密码,再启动授权登录)
// db.updateUser("admin", { pwd: "admin" });退出 MongoDB 客户端:
exit
退出非安全模式启动的 MongoDB
二、创建集合的用户
安全模式启动 MongoDB,登录全局的管理员的 admin,然后创建指定数据库的用户:
安全模式启动 MongoDB:
mongod --auth --config /usr/local/etc/mongod.conf
进入 MongoDB 客户端:
mongo
管理员登录:
use admin
db.auth("admin", "admin")
进入数据库 foo:
use foo
(不存在则会自动创建)创建用户 bar:
1
2
3
4
5
6
7
8
9
10db.createUser(
{
user: "bar",
pwd: "bar",
roles: [
{ role: "dbAdmin", db: "foo" },
{ role: "readWrite", db: "foo" }
]
}
)退出 MongoDB 客户端:
exit
三、数据库用户登录
安全模式启动 MongoDB:
方式一:
mongod --auth --config /usr/local/etc/mongod.conf
方式二: 配置文件中添加下面的配置,执行
mongod --config /usr/local/etc/mongod.conf
进行启动1
2security:
authorization: enabled
用户登录:
- 方式一:
- 进入 MongoDB 客户端:
mongo
- 进入数据库:
use foo
- 用户登录:
db.auth('bar', 'bar')
- 操作数据库
- 进入 MongoDB 客户端:
- 方式二:
- 进入 MongoDB 客户端同时进行登录:
mongo --port 27017 -u "bar" -p "bar" --authenticationDatabase "foo"
- 进入数据库:
use foo
- 操作数据库
- 进入 MongoDB 客户端同时进行登录:
- 方式一: