mongo 复制设置存储在哪里?

Where are mongo replication settings stored?

mongo完全重新安装后,它还记得之前的副本集配置;它存储在哪里?

我使用我们项目的用户帐户在 linux 服务器上安装了 mongo 到该用户拥有的目录中。我设置了复制并让它工作正常。然后,为了测试一些更精细的安装点,我删除了整个 mongo 目录并重新安装。进入mongo,发现复制已经和之前一样设置好了;所以看起来 mongo 正在某处存储信息。

我检查了几个可能持有副本集配置的区域:

  1. 首先,在mongo目录中,但是那个被删除了。
  2. 在一些传统的linux结构中可能归root所有,但项目用户没有root访问权限,mongo,运行同样,也不应该。
  3. 项目用户的主目录。现在它确实有一个包含命令行历史记录的 .dbshel​​l 文件,但仅此而已。我在那里没有看到任何其他相关文件。
  4. mongo 配置中指定的某个位置。但是我里面只提到了两个路径,一个是系统日志(systemLog.path),另一个是存储(storage.dbPath),都指向mongo目录,这是已删除。

有人知道 mongo 在哪里存储此配置信息吗?

复制数据存储在 local database in each node (as of MongoDB 3.2.9). This database contains information about the replica set, and also contains the oplogoplog.rs 集合)中。副本集信息存储在此local数据库中的system.replset集合中。

此数据库(以及其他数据库)的物理文件存储在 dbPath directory 中,可以使用以下方式进行配置:

默认 dbpath 值为 /data/db

如果清空 dbpath 目录,您的副本集设置将不会保留。如果您发现复制设置被保留,可能是 dbpath 设置不正确。