我在 mongodb 上成功创建了三个实例的副本集。副本集的每个成员都使用配置文件进行实例化。当我测试它时,一切都很顺利,并且执行成功,没有任何错误。
生成标题中错误的下一步是启用内部身份验证。为此,我遵循了此页面中的 mongo 文档:
[a] https://docs.mongodb.com/v3.0/tutorial/enable-internal-authentication/
首先,我使用下面的两行代码生成了一个密钥文件
openssl rand -base64 755 > <path-to-keyfile>
chmod 400 <path-to-keyfile>
如果没有 root 身份,我无法执行这些行,所以我使用 root 来执行。
然后我在实例的配置文件中添加了密钥文件。
# Where and how to store data.
storage:
dbPath: /mon/data1/
journal:
enabled: true
#engine:
#mmapv1:
#wiredTiger:
#where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod1.log
#network interfaces
net:
port: 27018
bindIp: 127.0.0.1
processManagement:
fork: true
security:
keyFile: /etc/keyFiles
replication:
replSetName: "myRepl"
现在为了再次启动 mongo,我编写了以下命令,我每次都使用它
sudo mongod --config /etc/mongod1.config
我得到了上面的错误。我确保一切都归root所有。dbpath、配置文件和密钥文件。
然后,我将所有内容切换为普通用户所有,并尝试以普通用户身份启动 mongod(没有 sudo)。我收到了同样的错误。
您认为解决方案是什么?