配置MongoDB
MongoDB配置文件名为mongod.conf
,位于/etc
目录中。 该文件为 YAML 格式。
在大多数情况下,默认配置设置就足够了。 但是,对于生产环境,我们建议取消对安全性部分的注释并启用授权,如下所示:
代码语言:javascript复制security:
authorization: enabled
/etc/mongod.conf
authorization
选项启用基于角色的访问控制(RBAC),该功能管理用户对数据库资源和操作的访问。 如果禁用此选项,则每个用户将有权访问任何数据库并执行任何操作。
更改MongoDB配置文件后,重新启动mongod服务:
代码语言:javascript复制sudo systemctl restart mongod
创建MongoDB管理用户
如果启用了MongoDB身份验证,则需要创建一个可以访问和管理MongoDB实例的管理用户。
首先,使用以下命令访问MongoDB Shell:
代码语言:javascript复制mongo
键入以下命令以连接到admin
数据库:
use admin
代码语言:javascript复制switched to db admin
使用userAdminAnyDatabase
角色创建一个名为mongoAdmin
的新用户:
db.createUser(
代码语言:javascript复制Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
您可以根据需要命名MongoDB管理用户。
退出mongo shell:
代码语言:javascript复制quit()
要测试更改,请使用先前创建的管理用户访问mongo shell:
代码语言:javascript复制mongo -u mongoAdmin -p --authenticationDatabase admin
代码语言:javascript复制MongoDB shell version v4.2.3
Enter password:
代码语言:javascript复制use admin
代码语言:javascript复制switched to db admin
现在,用以下命令打印用户:
代码语言:javascript复制show users
代码语言:javascript复制{
"_id" : "admin.mongoAdmin",
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}