mongodb dbpath 変更後の開始に失敗しました。

mongodb dbpath 変更後の開始に失敗しました。

dbpathを修正するために、次のコマンドを実行しました。

mkdir /mnt/data/mongodb
sudo chown -R mongod:mongod /mnt/data/mongodb

mongod.confを修正します。

vi /etc/mongod.conf

# Where and how to store data.
storage:
  dbPath: /mnt/data/mongodb
  journal:
    enabled: true

しかし、mongodbを再起動すると失敗します。

sudo service mongod restart

以下はエラーログです。

● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 四 2020-10-15 21:56:26 UTC; 1min 43s ago
     Docs: https://docs.mongodb.org/manual
  Process: 11144 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=100)
  Process: 11142 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 11140 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 11139 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
 Main PID: 10605 (code=exited, status=0/SUCCESS)

10月 15 21:56:26 centos-sfo2-04 systemd[1]: Starting MongoDB Database Server...
10月 15 21:56:26 centos-sfo2-04 mongod[11144]: about to fork child process, waiting until server is ready for connections.
10月 15 21:56:26 centos-sfo2-04 mongod[11144]: forked process: 11147
10月 15 21:56:26 centos-sfo2-04 systemd[1]: mongod.service: control process exited, code=exited status=100
10月 15 21:56:26 centos-sfo2-04 systemd[1]: Failed to start MongoDB Database Server.
10月 15 21:56:26 centos-sfo2-04 systemd[1]: Unit mongod.service entered failed state.
10月 15 21:56:26 centos-sfo2-04 systemd[1]: mongod.service failed.

答え1

次のコマンドを使用してください

sudo mongod --dbpath /mnt/data/mongodb --repair

また、ディレクトリパスの権限を確認してください。

答え2

データパスの権限と所有権を確認してください。

sudo chown -R mongodb:mongodb /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chmod -R 755 /var/lib/mongodb
sudo chmod -R 755 /var/log/mongodb

その後、データディレクトリを変更し、

mongod --dbpath /data/mongo

関連情報