ターミナルで「mongod」を実行しようとすると、次のエラーが表示されます。マシンのアンインストール、再インストール、再起動を試みました。動作させる方法についての提案は驚くべきものです。
エラー:
dbpath (/data/db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
サイドノート:Nodeは、このエラーが発生したのとほぼ同時に私のマシンで動作しなくなりました。
events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [localhost:27017]
どんな助けも大歓迎です!
これにより、ディレクトリが適切な場所に設定され、Mongoが検索できるようになります。
Sudo mkdir -p /data/db/
Sudo chown `id -u` /data/db
私は問題を解決しました:
Sudo mongod --dbpath=/var/lib/mongodb
、次にmongoを使用してmongodbシェルにアクセスします。
新しいデータディレクトリのユーザーを変更します。
chown mongodb [rute_directory]
そして、もう一度mongoサービスを開始してみてください
サービスモンゴッドスタート
これで同じ問題を解決します。
デーモン(通常はdで終わる)は通常、サービスとして開始されます。サービス(デーモン)を開始すると、mongodbが設計どおりに動作するようになります(ディストリビューションとうまく統合されている場合、許可を変更することなく)。 mongodを直接起動するのではなく、mongodbという名前のサービスを使用して起動します。起動時にsystemd enableを使用してdistroで実行し、次のように実行します。
Sudo systemctl enable mongodb
Sudo systemctl start mongodb
または、ディストリビューションでupstart(/ etc/initがある場合)またはinit(/etc/init.dがある場合)( https://www.tecmint.com/systemd-replaces-init-in -linux / )代わりに実行:
Sudo service mongodb enable
Sudo service mongodb start
Gentoo(/etc/init.dの設定)( https://forums.gentoo.org/viewtopic-t-854138-start-0 .html )実行:
rc-update add mongodb default
/etc/init.d/mongodb start
まだrcを持っているFreeBSDのディストリビューション/バージョン(バージョンがsystemdに切り替わったかどうかを確認してください。それ以外の場合は以下を参照してください):
/etc/rc.confに次の行を追加します。
mongod_enable = "YES"
その後:
Sudo service mongod start
サービスを開始した後、特権のないユーザーはmongoを使用でき、各ユーザーは個別のデータを持ちます。