在Debian上配置MongoDB副本集認證涉及幾個步驟,包括設置MongoDB實例、創建管理員用戶、配置副本集以及啟用認證。以下是一個詳細的指南:
首先,確保你已經在Debian上安裝了MongoDB。你可以使用以下命令來安裝:
sudo apt update
sudo apt install -y mongodb
編輯MongoDB配置文件 /etc/mongod.conf
,確保每個實例都有唯一的 bindIp
和 port
設置。例如:
# /etc/mongod.conf
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 127.0.0.1,192.168.1.101 # 替換為你的IP地址
security:
authorization: enabled
啟動MongoDB服務并創建一個管理員用戶:
sudo systemctl start mongod
mongo --eval 'db.createUser({ user: "admin", pwd: "your_password", roles: ["root"] })'
編輯每個MongoDB實例的配置文件,添加副本集配置。例如,如果你有兩個實例,可以在 /etc/mongod.conf
中添加:
replication:
replSetName: "rs0"
重啟MongoDB服務以應用更改:
sudo systemctl restart mongod
連接到其中一個MongoDB實例并初始化副本集:
mongo -u admin -p your_password --authenticationDatabase admin
在Mongo shell中執行以下命令:
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "192.168.1.101:27017" },
{ _id: 1, host: "192.168.1.102:27017" }
]
})
在Mongo shell中執行以下命令來驗證副本集的狀態:
rs.status()
如果你有更多的副本集成員,可以繼續添加它們:
rs.add("192.168.1.103:27017")
確保所有副本集成員都啟用了認證。你可以在每個實例的配置文件中添加 security.authorization: enabled
并重啟服務。
使用管理員用戶連接到副本集并測試認證:
mongo -u admin -p your_password --authenticationDatabase admin --host 192.168.1.101 --port 27017
通過以上步驟,你應該能夠在Debian上成功配置MongoDB副本集認證。確保所有實例都正確配置并啟動,以便副本集能夠正常工作。