我成功地在mongodb上创建了一个由三个实例组成的副本集。每个副本集成员都是使用配置文件实例化的。当我测试时,一切都很顺利,并且成功地执行了,没有任何错误。
接下来的步骤是启用内部身份验证。为了做到这一点,我遵循了mongo文档中在这个页面中找到的步骤:
[a] https://docs.mongodb.com/v3.0/tutorial/enable-internal-authentication/ 首先,我使用以下两行代码生成了一个密钥文件。
现在为了重新启动Mongo,我写了以下命令,我每次都使用它。
接下来的步骤是启用内部身份验证。为了做到这一点,我遵循了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)。但我收到了相同的错误信息。
你认为解决方案是什么?