在Debian上配置MongoDB副本集认证需要以下几个步骤:
首先,确保你已经在Debian上安装了MongoDB。如果还没有安装,可以参考官方文档进行安装:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/
在/etc/mongod.conf
文件中,启用副本集认证。在security
部分添加以下内容:
security:
authorization: enabled
运行以下命令以应用更改并重启MongoDB服务:
sudo systemctl restart mongod
连接到MongoDB并创建一个具有用户管理权限的管理员用户。在mongo
shell中执行以下命令:
use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: ["userAdminAnyDatabase", "readWriteAnyDatabase", "dbAdminAnyDatabase"]
})
将your_password
替换为你选择的密码。
为每个副本集成员创建一个用户,并为其分配适当的角色。例如,如果你有两个副本集成员,可以分别为它们创建用户:
use your_database
db.createUser({
user: "replica1_user",
pwd: "replica1_password",
roles: ["readWrite", "dbAdmin", "clusterMonitor"]
})
use your_database
db.createUser({
user: "replica2_user",
pwd: "replica2_password",
roles: ["readWrite", "dbAdmin", "clusterMonitor"]
})
将your_database
替换为你的数据库名称,将replica1_user
和replica2_user
替换为副本集成员的用户名,将replica1_password
和replica2_password
替换为相应的密码。
在每个副本集成员上,使用rs.initiate()
命令初始化副本集,并提供其他副本集成员的信息。例如:
rs.initiate({
_id: "your_replica_set_name",
members: [
{
_id: 0,
host: "replica1_host:27017",
user: "replica1_user",
password: "replica1_password"
},
{
_id: 1,
host: "replica2_host:27017",
user: "replica2_user",
password: "replica2_password"
}
]
})
将your_replica_set_name
替换为你的副本集名称,将replica1_host
和replica2_host
替换为副本集成员的主机名或IP地址。
运行以下命令以验证副本集配置:
rs.status()
现在,你的Debian MongoDB副本集已经配置了认证。确保在连接到副本集时使用正确的用户名和密码。