MongoDBがデータの保存に使用する場所を変更するにはどうすればよいですか?


13

MongoDB構成ファイルを編集して、データをに保存しました/home/user/data/mongod

しかし、おそらく新しいフォルダーへのアクセス許可が与えられていないため、データはまだ古いディレクトリに書き込まれます-MongoDBにそのディレクトリに必要なアクセス許可を与えるにはどうすればよいですか?


1
構成をどのように編集しましたか?なぜ許可に問題があると思いますか?Mongoがエラーをスローする代わりにデフォルトのディレクトリを使用すると思うのはなぜですか?(これは尋ねる方法です:エラーログファイルをチェックしましたか?)
アンドレアコルベッリーニ

回答:


29

MongoDBがデータを保存するために使用する場所を変更するには、以下を行う必要があります。

  1. /etc/mongodb.confdbpath=/var/lib/mongodbを編集して、希望するパスに変更します。例えばdbpath=/home/user/data/mongodb
  2. 選択したパスのアクセス許可を更新して、mongodbユーザーが書き込みできるようにします。たとえば、chown $USER -R /home/user/data/mongodb
  3. 実行してMongoDBサービスを再起動します sudo service mongodb restart

古い場所に保持したいデータがある場合は、最初にMongoDBサービスを停止し、ファイルを手動で移動してから、サービスを再開する必要があることに注意してください。

MongoDBサーバーを停止するには sudo service mongodb stop


どのファイルを移動する必要がありますか?
チョビー

@chovyストレージディレクトリ内のファイル。
デビッドエドワーズ

私はですべてを削除/var/lib/mongodb
chovy

@chovyそれから、もしあれば、すべてのデータを削除した可能性があり、移動できるファイルはありません。
デビッドエドワーズ

ええ、それは結構です。保存する必要はありませんでした。そこに必要な非データファイルがあるかどうかはわかりませんでした。明らかではない、まだ動作しているようですので、
chovy

1

変更を有効にするには、デーモンを再起動する必要があります。

sudo service mongodb restart

Tiはデーモンを再起動します。古い方法: "etc / init.d / mongodb restart"、新しい方法: "sudo service mongodb restart"
シリルアルファ

1
回答を編集してその情報を含めることをお勧めします。
エリアケイガン

1

コマンドラインからmongodbを起動する場合は、--dbpath引数 を使用できます。mkdir mydata && mongod --dbpath mydata 「ファイルが存在する」などに関連する問題が発生する可能性があります。これはMongoDbのよく知られた制限です。ディスクドライブを変更して、その問題が再び発生しないかどうかをテストしてください。


0

mv / var / lib / mongodb(データを保存したディレクトリ)を/ pathにコピーし、mondodb:mongodb / chown(データを保存したいディレクトリ)

/etc/mongod.confを編集します

service mongod restart(接続できない場合、mongod.lockが含まれていない場合は/ pathを確認し、存在する場合は削除して再起動します)


そのmongodb:mongodb私は推測する.. !!
ラクシュマンピラカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.