mongodb分片开启账号密码认证
时间: 2024-01-22 11:00:46 浏览: 34
要在MongoDB分片集群中开启账号密码认证,需要按照以下步骤进行操作:
1. 创建管理员用户:首先,需要在Mongos节点上连接到config数据库中,并创建一个管理员用户。在config数据库中执行以下命令:
```
use admin
db.createUser({
user: "admin",
pwd: "yourAdminPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
```
这将创建一个名为admin的管理员用户,并授予userAdminAnyDatabase角色的权限,可以在任何数据库中管理用户。
2. 开启身份验证:在Mongos节点配置文件的security.authorization属性中启用身份验证。在配置文件中添加以下内容:
```
security:
authorization: enabled
```
3. 重新启动Mongos节点:保存修改并重新启动Mongos节点,使身份验证配置生效。
4. 开启分片集群节点的身份认证:对于每个分片节点和配置节点,需要连接到相应的节点上,使用管理员用户在admin数据库中创建一个具有合适权限的用户:
```
use admin
db.createUser({
user: "shardUser",
pwd: "yourShardUserPassword",
roles: [ { role: "readWrite", db: "config" } ]
})
```
这将创建一个名为shardUser的用户,并授予config数据库的readWrite角色权限。然后重复这个步骤,为每个分片节点和配置节点创建相同的用户。
5. 更新配置数据库的分片信息:将已添加身份认证信息的分片节点和配置节点添加到分片集群中,更新配置数据库的分片信息。
通过以上步骤,就可以在MongoDB分片集群中成功开启账号密码认证,保障数据库的安全性。