web-dev-qa-db-ja.com

mongoDBがデータを保存している場所を確認するにはどうすればよいですか? (デフォルトの/ data / dbにはありません!)

私のホストにはmongodbインスタンスが付属しており、/ dbディレクトリがないため、データが実際に格納されている場所を見つけるために何ができるのか疑問に思っています。

144
Zugwalt

mongodは、データベースの場所を/data/db/にデフォルト設定します。

ps -xa | grep mongodを実行して、mongodにdbの場所のパラメーターを調べるように明示的に指示する--dbpathが表示されず、mongodb.confdbpathがない場合、デフォルトの場所は/data/db/になります。 。

132
EhevuTov

構成ファイルには何と書かれていますか?

$ grep dbpath /etc/mongodb.conf

正しくない場合は、これを試してください。データベースファイルがリストに表示されます。

$ Sudo lsof -p `ps aux | grep mongodb | head -n1 | tr -s ' ' | cut -d' ' -f 2` | grep REG

デフォルトのインストール(Ubuntu 11.04)では/var/lib/mongodb/*です。

便宜上mongod PIDを保持する/var/lib/mongodb/mongod.lockファイルもありますが、データディレクトリにあることに注意してください。

55

Mongodb v2.6.4の新しいバージョンで試してください:

grep dbpath /etc/mongod.conf

次のようなものが得られます。

dbpath=/var/lib/mongodb

そして、それはデータを保存する場所です。

28
Mwirabua Tim

この質問は、MongoのLinux/Unixインスタンスを対象としていますが、使用されているオペレーティングシステムに関係なく、最初の検索結果の1つです。

MongoDBがデフォルトの方法でWindowsサービスとして設定されている場合、通常、MongoDBサービスのプロパティの「実行可能ファイルへのパス」エントリを調べることで見つけることができます。

Properties Window showing 'Path to Executable' option

18
Robotnik

私の経験では、デフォルトの場所は/var/lib/mongodbです。

Sudo apt-get install -y mongodb-org
14
zillabunny

db.serverCmdLineOpts()は、サーバーに接続できる場合に実際のパスを見つける最も堅牢な方法です。 「parsed.storage.dbPath」には、サーバーが現在使用しているパスが含まれており、構成またはコマンドライン引数から取得した場合に使用できます。

また、私の場合、構成値が実際の値を反映することを確認することが重要でした(つまり、構成は最後の再起動後に変更されませんでした)。これは、ここで提供されるソリューションでは保証されません。

db.serverCmdLineOpts()

出力例:

{
    "argv" : [ 
        // --
    ],
    "parsed" : {
        "config" : "/your-config",
        "storage" : {
            "dbPath" : "/your/actual/db/path",
            // --
        }
    },
    "ok" : 1.0
}
10
glock18

私はここでOSXシステム/ usr/local/var/mongodbで見つけました

8
Achim Koellner

Windowsの場合MongoDB\Server\4.0\binフォルダー内に移動し、任意のテキストエディターでmongod.cfgファイルを開きます。次に、dbPathパラメーターを指定する行を見つけます。ラインは似たようなものに見えます

dbPath:D:\ Program Files\MongoDB\Server\4.0\data

2

/var/dbをいじくり回すだけで見つかりました。しかし、助けてくれてありがとう-これらの答えは他のシステム(Ubuntuなど)にも当てはまり、他の人にも役立つと確信しています!

2
Zugwalt

どういうわけかmongod.logを見つけて、それに対してgrepを実行できる場合

grep dbpath mongod.log

Dbpathの値は、mongodb !!のデータの場所です。ではごきげんよう :)

2
Nilotpal

起動すると表示されます。しかし、それがあなたのホストでできることなのかどうかわかりません。コマンドラインにアクセスでき、サービスを再起動できる場合、次のようなメッセージが表示されます。

    2016-11-15T12:57:09.182-0500 I CONTROL  [initandlisten]
 MongoDB starting : pid=16448 port=27017 dbpath=C:\data\db\ 
1
johnny

実際、mongodインスタンスがデータを保存するデフォルトのディレクトリは

LinuxおよびOS Xでは/data/db

Windowsの\data\db

パッケージ管理システムを使用してMongoDBをインストールしたの場合、パッケージが提供する/etc/mongod.confファイルを確認して、ディレクトリが指定されていることを確認します。

storage.dbPath設定は、mongodでのみ使用できます。

Linuxパッケージの初期化スクリプトは、storage.dbPathがデフォルトから変更されることを想定していません。 Linuxパッケージを使用してstorage.dbPathを変更する場合、独自のinitスクリプトを使用し、組み込みスクリプトを無効にする必要があります。

1