Ubuntu 12.04 LTSとMongoDBインスタンスを実行しているLinodeサーバーがあります(サービスが実行されており、ローカルに接続できます)。外部ソースからは接続できません。
IPテーブルに次の2つのルールを追加しました。<ip address>は、FROMに接続するサーバーです(この MongoDBリファレンス で説明されているとおり)。
iptables -A INPUT -s < ip-address > -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d < ip-address > -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT
そして、IPテーブルにルールがあり、27017で<ip address>との接続が許可されていますが、次のようなコマンドを使用して、<ip address>からmongoデータベースに接続しようとすると:
mongo databasedomain/databasename -u username -p password
私はこのエラーを受け取ります:
2014-07-22T23:54:03.093+0000 warning: Failed to connect to databaseserverip:27017, reason: errno:111 Connection refused 2014-07-22T23:54:03.094+0000 Error: couldn't connect to server < ip address >:27017 (databaseserverip), connection attempt failed at src/mongo/Shell/mongo.js:148 exception: connect failed
すべてのヘルプは非常に高く評価されています!!!!ありがとう!!!
みなさん、助けてくれてありがとう!
それはiptableの競合であることが判明しました。開いているポートをリストする2つのルール(閉じられたポートになりました)。
ただし、akaによるコメントの1つとmanu2013によるコメントの1つは、競合がなければ、私が遭遇した問題でした。
そう!外部接続を行うには、/etc/mongod.conf
ファイルを編集してbind_ip = 0.0.0.0
を設定することを常に忘れないでください。
また、mongoが必要とするポートの競合するルールがiptableにないことを確認してください(iptablesを適切にセットアップするには、 mongodbのサイトのリンク を参照してください)。
以下を試してください:
Sudo rm /var/lib/mongodb/mongod.lock
Sudo service mongodb restart
これらのコマンドにより問題が修正され、
Sudo rm /var/lib/mongodb/mongod.lock
Sudo mongod --repair
Sudo service mongod start
Sudo service mongod status
プロキシの背後にいる場合は、次を使用します-
export http_proxy = "http:// username:[email protected]:port /"
export https_proxy = "http:// username:[email protected]:port /"
Ubuntu Server 15.04および16.04の場合、このコマンドのみを実行する必要があります
Sudo apt-get install --reinstall mongodb
/data/db
ディレクトリがありませんでした。私はそれを作成し、chmod 777
許可を与えました、それは私のために働いた
もう1つのオプションは、データベースを次のように修復することです(注:最初にdb0ディレクトリを事前に作成する必要があります)。
mongod --dbpath /var/lib/mongodb/ --repairpath /var/lib/mongodb/db0
これは実稼働環境でも受け入れられるオプションです...
私も同じ問題を抱えていました。dbpathにディレクトリを作成します。私の場合、/ data/dbにディレクトリはありませんでした。そのため、ディレクトリを作成しました。
私の場合、以前のバージョンは3.2でした。 3.6にアップグレードしましたが、データファイルは新しいバージョンと互換性がありませんでした。そのため、自分とその作品で使用できなかったため、すべてのデータファイルを削除しました。
/var/log/mongodb
を使用してログを確認できます
このチュートリアルのインストール手順に従います
buntu 16.04にMongoDBをインストールする方法
同じ間違いがありました。最後に、ポート番号を設定する必要があることがわかりました
Mongoコマンドのデフォルトのポート番号は27017です
ただし、mongo.confのデフォルトのポート番号は29999です