1

mongo を完全に再インストールした後も、以前のレプリカ セットの構成が記憶されています。これはどこに保存されていますか?

プロジェクトのユーザーアカウントを使用して、Linuxサーバーにmongoをそのユーザーが所有するディレクトリにインストールしました。レプリケーションをセットアップし、正常に動作しました。次に、いくつかの細かいインストール ポイントをテストするために、mongo ディレクトリ全体を削除し、再インストールを行いました。mongo に入ると、以前のようにレプリケーションが既にセットアップされていることがわかりました。そのため、mongo が情報をどこかに保存しているように見えます。

レプリカ セットの構成を保持していた可能性のあるいくつかの領域を確認しました。

  1. まず、mongo ディレクトリにありましたが、それは削除されました。
  2. 一部の従来の Linux 構造では、おそらくルートが所有していますが、プロジェクト ユーザーにはルート アクセス権がなく、同じユーザーが実行する mongo にもアクセスできません。
  3. プロジェクト ユーザーのホーム ディレクトリ。現在、これにはコマンドライン履歴を含む .dbshel​​l ファイルがありますが、それだけです。関連する他のファイルはありませんでした。
  4. mongo 構成で指定された場所。しかし、そこには 2 つのパスしか記載されていません。1 つはシステム ログ用 ( systemLog.path) で、もう 1 つはストレージ用 ( storage.dbPath) で、両方とも削除された mongo ディレクトリを指しています。

mongo がこの構成情報を保存している場所を知っている人はいますか?

4

1 に答える 1

5

レプリケーション データは、各ノードのローカル データベースに格納されます (MongoDB 3.2.9 以降)。このデータベースには、レプリカ セットに関する情報が含まれており、oplog (oplog.rsコレクション) も含まれています。レプリカ セットの情報は、このデータベースのsystem.replsetコレクションに格納されます。local

このデータベース (および他のデータベース) の物理ファイルは、dbPath ディレクトリに保存されます。このディレクトリは、次を使用して構成できます。

デフォルトdbpath値は/data/db

dbpathディレクトリを空にすると、レプリカ セットの設定は保持されません。レプリケーション設定が保持されている場合は、dbpath設定が正しくない可能性があります。

于 2016-09-08T01:53:21.687 に答える