私のホストにはmongodbインスタンスが付属しており、/ dbディレクトリがないため、データが実際に格納されている場所を見つけるために何ができるのか疑問に思っています。
mongod
は、データベースの場所を/data/db/
にデフォルト設定します。
ps -xa | grep mongod
を実行して、mongod
にdbの場所のパラメーターを調べるように明示的に指示する--dbpath
が表示されず、mongodb.conf
にdbpath
がない場合、デフォルトの場所は/data/db/
になります。 。
構成ファイルには何と書かれていますか?
$ 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
ファイルもありますが、データディレクトリにあることに注意してください。
Mongodb v2.6.4の新しいバージョンで試してください:
grep dbpath /etc/mongod.conf
次のようなものが得られます。
dbpath=/var/lib/mongodb
そして、それはデータを保存する場所です。
私の経験では、デフォルトの場所は/var/lib/mongodb
です。
Sudo apt-get install -y mongodb-org
db.serverCmdLineOpts()
は、サーバーに接続できる場合に実際のパスを見つける最も堅牢な方法です。 「parsed.storage.dbPath」には、サーバーが現在使用しているパスが含まれており、構成またはコマンドライン引数から取得した場合に使用できます。
また、私の場合、構成値が実際の値を反映することを確認することが重要でした(つまり、構成は最後の再起動後に変更されませんでした)。これは、ここで提供されるソリューションでは保証されません。
db.serverCmdLineOpts()
出力例:
{
"argv" : [
// --
],
"parsed" : {
"config" : "/your-config",
"storage" : {
"dbPath" : "/your/actual/db/path",
// --
}
},
"ok" : 1.0
}
私はここでOSXシステム/ usr/local/var/mongodbで見つけました
Windowsの場合MongoDB\Server\4.0\binフォルダー内に移動し、任意のテキストエディターでmongod.cfgファイルを開きます。次に、dbPathパラメーターを指定する行を見つけます。ラインは似たようなものに見えます
dbPath:D:\ Program Files\MongoDB\Server\4.0\data
/var/db
をいじくり回すだけで見つかりました。しかし、助けてくれてありがとう-これらの答えは他のシステム(Ubuntuなど)にも当てはまり、他の人にも役立つと確信しています!
どういうわけかmongod.logを見つけて、それに対してgrepを実行できる場合
grep dbpath mongod.log
Dbpathの値は、mongodb !!のデータの場所です。ではごきげんよう :)
起動すると表示されます。しかし、それがあなたのホストでできることなのかどうかわかりません。コマンドラインにアクセスでき、サービスを再起動できる場合、次のようなメッセージが表示されます。
2016-11-15T12:57:09.182-0500 I CONTROL [initandlisten]
MongoDB starting : pid=16448 port=27017 dbpath=C:\data\db\
実際、mongodインスタンスがデータを保存するデフォルトのディレクトリは
LinuxおよびOS Xでは/data/db
、
Windowsの\data\db
パッケージ管理システムを使用してMongoDBをインストールしたの場合、パッケージが提供する/etc/mongod.conf
ファイルを確認して、ディレクトリが指定されていることを確認します。
storage.dbPath
設定は、mongod
でのみ使用できます。
Linuxパッケージの初期化スクリプトは、storage.dbPath
がデフォルトから変更されることを想定していません。 Linuxパッケージを使用してstorage.dbPath
を変更する場合、独自のinitスクリプトを使用し、組み込みスクリプトを無効にする必要があります。