我得到了解决方案,它只是 MongoDB 配置文件中的三行配置。
从 MongoDB atlas 切换并在我的 CentOS 7 VPS 上使用 WHM 安装 MongoDB v 4.4.0 后,我也遇到了这个问题。
run-rs 解决方案对我不起作用,但我设法在没有任何第三方工具的情况下解决了这个问题,遵循以下步骤:
1。关闭mongod。
最有效的方法是使用命令mongo 进入MongoDB shell
检查方法
db.shutdownServer()
您将无法使用 MongoDB 服务器。
对我来说,关闭过程耗时太长,然后我用命令杀死了该进程:
systemctl stop -f mongod
如果你杀死了mongod 进程,你可能需要运行
mongod --dbpath /var/db --repair
var/db 应该指向您的数据库目录。
2。设置副本集配置。
对于replicaSet 设置步骤,请查看/etc/mongod.conf 文件,
查找 replication 值行,您应该添加以下行,如下所示:
replication:
oplogSizeMB: <int>
replSetName: <string>
enableMajorityReadConcern: <boolean>
在下一步使用replSetName 值。
这些设置的示例:
oplogSizeMB: 2000
replSetName: rs0
enableMajorityReadConcern: false
3。添加您的连接字符串 URL。
将 replSetName 的值添加到您的连接 URL &replicaSet=--YourReplicationSetName--
如果您使用了我们示例中的名称 rs0,那么您应该将 replicaSet=rs0 添加到您的数据库连接 URL 查询中
4。再次打开 mongod
输入命令:systemctl start mongod
5。访问您的副本集数据库
使用命令mongo进入MongoDB shell,输入命令rs.initiate()
现在您应该在您的副本集数据库中。