sql >> データベース >  >> NoSQL >> MongoDB

Ubuntu上のMongoDBはサービスとして起動せず、ログには何も記録されません

    OK、これはすべて権限に帰着しますが、段階的に見ていきましょう。 sudo mongodを実行すると 設定ファイルはまったくロードされません。文字通り、デフォルトでコンパイルされたポート27017、/ data / dbのデータベースパスなどで始まります。そのため、そのフォルダが見つからないというエラーが発生しました。 「Ubuntuのデフォルト」は、構成ファイルをポイントした場合にのみ使用されます(serviceコマンドの使用を開始した場合、これはバックグラウンドで実行されます)。

    次に、次のように実行しました:

    sudo mongod -f /etc/mongodb.conf
    

    以前に問題がなかった場合は、今すぐ問題が発生します。通常の構成(通常のdbpathとログを指す)をrootユーザーとして使用してプロセスを実行しました。つまり、通常のMongoDBフォルダーには、root:rootのuser:groupを持つ多数のファイルが存在することになります。 。

    これにより、通常のサービスとして再度開始しようとするとエラーが発生します。これは、mongodbユーザー(サービスの実行を試みる)には、これらのroot:rootにアクセスする権限がないためです。 ファイル、そして最も注目すべきことに、おそらくログファイルに書き込んで情報を提供することはできません。

    したがって、通常のサービスとして実行するには、これらの権限を修正する必要があります。まず、MongoDBが現在rootとして実行されていないことを確認してから、次のようにします。

    cd /var/log/mongodb
    sudo chown -R mongodb:mongodb .
    cd /var/lib/mongodb
    sudo chown -R mongodb:mongodb .
    

    これで修正されるはずです(user:groupがmongodb:mongodbであると仮定します) )、ただし、ls -alで確認するのがおそらく最善です。 または確かに同様。これが完了すると、サービスを正常に再開できるようになります。



    1. Cloudera Data Science Workbenchと運用データベースを使用した機械学習アプリケーションの構築、パート1:セットアップと基本

    2. 配列フィールドの値によるMongoDBgroup

    3. 集計クエリでのMongoDBのパフォーマンス

    4. Queryable<T>をIMongoQueryに変換し直します