2016-09-07 80 views
1

完成mongo的重新安裝後,它仍然記得以前的副本集配置;它存儲在哪裏?mongo複製設置存儲在哪裏?

我在一臺linux服務器上安裝了mongo,使用我們項目的用戶帳戶進入該用戶擁有的目錄。我設置了複製並且工作正常。然後,爲了測試一些更好的安裝點,我刪除了整個mongo目錄並重新安裝。進入mongo後,我發現複製已經像以前一樣建立了;所以看起來mongo在某處存儲信息。

我已經檢查可能一直抱着副本集配置幾個方面:

  1. 首先,在蒙戈目錄,但已被刪除。
  2. 在某些可能由root擁有的傳統linux結構中,但項目用戶沒有root訪問權限和mongo,運行相同,也不應該。
  3. 項目用戶的主目錄。現在這裏有一個包含命令行歷史的.dbshel​​l文件,但僅此。我沒有看到任何其他相關的文件。
  4. 在mongo配置中指定的某個位置。但是在那裏我只提到了兩條路徑,一條用於系統日誌(systemLog.path),另一條用於存儲(storage.dbPath),兩者都指向已刪除的mongo目錄。

有沒有人知道mongo在哪裏存儲這個配置信息?

+0

一個好的起點是你的Mongo Shell中的rs.help()和rs.status()。 rs.conf()顯示您當前的複製配置。 – dyouberg

+0

其實,rs.status()是我如何知道它提出了所有的原始信息。不幸的是,它沒有提供關於信息存儲在機器上的物理位置的信息。不過謝謝。 –

回答

4

複製數據存儲在每個節點的local database(從MongoDB 3.2.9開始)。此數據庫包含有關副本集的信息,並且還包含oplogoplog.rs集合)。副本集信息存儲在此local數據庫中的system.replset集合中。

該數據庫的物理文件(也用於其他數據庫)存儲在dbPath directory,可使用被配置:

默認dbpath值爲/data/db

如果您清空dbpath目錄,則不會保留您的副本集設置。如果您發現複製設置被保留,則可能是因爲dbpath設置不正確。

+0

我上面不清楚,但是我正在設置我正在刪除的mongo目錄下的'dbPath'。但我只是經歷了整個過程,並且rs配置信息消失了。這是我本來預期的第一位。可能我早些時候倒退了其中一個步驟。我將繼續並將其作爲正確答案進行檢查,因爲它應該是這樣,並將其標記爲用戶錯誤。 –

相關問題