web-dev-qa-db-ja.com

サーバー127.0.0.1 Shell / mongo.jsに接続できませんでした

私のubuntuでmongodbをセットアップすると、私は試してください:./mongoはこのエラーを表示します:

 couldn't connect to server 127.0.0.1 Shell/mongo.js

じゃあどうすればいい 、

ありがとう

87
zjm1126
  • ロックファイルを手動で削除します:Sudo rm /var/lib/mongodb/mongod.lock
  • 修復スクリプトを実行します:Sudo -u mongodb mongod -f /etc/mongodb.conf --repair

次の点に注意してください:

  • このコマンドはmongodbユーザーとして実行する必要があります。 rootとして実行すると、rootはmongodbデーモンを実行するために必要な/ var/lib/mongodb /のファイルを所有するため、デーモンが後でmongodbユーザーとして実行しようとすると、起動する権限がありません。その場合、次のエラーが発生します:lockfilepathのロックファイルを作成/開くことができません:/var/lib/mongodb/mongod.lock errno:13許可が拒否され、終了します。
  • Ubuntuでは、-fフラグを使用して構成ファイル/etc/mongodb.confを指定する必要があります。そうしないと、間違った場所でデータファイルが検索され、次のエラーが表示されます。dbpath(/ data/db /)が存在せず、終了します。
124
Sudo rm /var/lib/mongodb/mongod.lock   
Sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
Sudo service mongodb start

これらの操作を実行した後、mongoを起動するのに少し時間がかかることがあります。

32
Rubyrider

$ mongodを実行してみる

次のようなエラーが発生した場合

MongoDB Shell version: 2.0.5
connecting to: test
Fri Jun  1 11:20:33 Error: couldn't connect to server 127.0.0.1 Shell/mongo.js:84
exception: connect failed

hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun  1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit Host=hisham-agil.local
Fri Jun  1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun  1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun  1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun  1 11:24:47 [initandlisten] options: {}
Fri Jun  1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun  1 11:24:47 dbexit: 
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun  1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun  1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun  1 11:24:47 dbexit: really exiting now

次に、かなり一般的な基本的な起動エラーが発生しました。

デフォルトでは、mongodはデータベースファイルに/ data/dbを使用しようとしますが、この場合は存在しません。

始められない

mongo 

あなたが扱うまで

mongod.

これらのディレクトリを作成してみて、mongodプロセスを実行しているのと同じユーザーが書き込み可能なことを確認してください。

**同様の質問を参照してください- エラーを取得するには、「エラー:サーバー127.0.0.1 Shell/mongo.jsに接続できませんでした」およびmac osx lionでmongodbを実行しようとすると

21
boulder_ruby

これは実際にはエラーではありません...ここで起こることは、Mongoがローカルデータベースサーバーを実行するためにdaemonに依存しているため、mongoサーバーを「起動」するためですシェルで、最初にmongo serviceを開始する必要があります。

Fedora Linux(私が使用しているディストリビューションです)これらのコマンドを実行する必要があります:

1 Sudo service mongod start
2 mongo

そして、あなたはそれを持っています!サーバーが実行されます。ここで、システムの起動時にMongoサービスを開始したい場合は、実行する必要があります。

Sudo chkconfig --levels 235 mongod on

そして、それだけです!これを行うと、シェルでサーバーを起動するためにmongoと入力する必要がありますが、それだけで問題は、SERVICEを起動する必要があることです。最初に、次にサーバー:)

追伸私が投稿したコマンドは、Fedoraだけでなく、他のLinuxディストリビューションでも動作する可能性があります...場合によっては、いくつかの単語を調整使用しているディストリビューションによって異なります;)

20
Jmlevick

Mongoをインストールしようとしたときに同じ問題が発生しました。エラーが発生しました、

エラー

"Error: couldn't connect to server 127.0.0.1 Shell/mongo.js:84"

解決策:

最初に以下を使用してmongodをインストールします。

Sudo apt-get install mongodb-server

次に入力

mongod --dbpath /mongo/db

それから

Sudo rm /var/lib/mongodb/mongod.lock

それから

Sudo -u mongodb mongod -f /etc/mongodb.conf  --repair

ありがとうございました

9

ロックファイルmongod.lockまたは/var/lib/mongodb/mongod.lockをubuntuで削除する必要があります。次に、mongod.exeまたはservice mongodb startをUbuntuで実行してから、mongo.exeまたはmongo Ubuntuで。

6
user1391225

まず、/ var/lib/mongodb /フォルダー(またはdbpathが指すフォルダー)内のすべてのファイルとディレクトリがmongodbユーザーとmongodbグループに属していることを確認する必要があります。

cd /var/lib/mongodb/
Sudo chown mongodb filename.*
Sudo chgrp mongodb filename.*
Sudo chown -R mongodb directory
Sudo chgrp -R mongodb directory

(ファイル名とディレクトリをそれぞれの名前に置き換えます)

次に、すでに述べたように、ロックを解除し、データベースを修復し、デーモンを再起動できます。

Sudo rm /var/lib/mongodb/mongod.lock   
Sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
Sudo service mongodb start
5
Tom Desair

Mongodが実行されていない(「ps」コマンドを使用して確認する)か、localhostではなく外部IPアドレスをリッスンしている。 「mongod」が実行されている場合は、まずプロセスリストを確認します。 「はい」の場合、関連ポートについて「netstat -nap」で確認します。

もちろん、コンソールでmongodを手動で起動することも、mongodのログファイルを確認することもできます(設定されている場合は、mongodのインストール方法によって異なります)。

5
Andreas Jung

まず、mongoサーバーを起動します

Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log

次に、別のターミナルウィンドウを開き、シェルを開きます

Users-MacBook-Pro:csv1 Admin$ mongo
5
Tarun Gupta

また、ルートパーティションにmongodを起動するのに十分なスペースがあることを確認します。

df -h /

Mongodの起動時にこのようなsmthが表示されます。

Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit: 
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...
2
DmitrySandalov

Ubuntuでは、これを試してください:

Sudo invoke-rc.d mongodb start
1
Victor

私は次の手順でubuntu 12.04でこの問題を解決しました:
1)sudo rm/var/log/mongodb
2)sudo rm/var/lib/mongodb
3)mongoを削除してから、再度インストールしました
4)sudoサービスmongodbの再起動

そしてすべてが順調です

1
Almas

$ PATHと権限の問題の組み合わせである可能性があります。

以下の手順に従ってください:

MongoDB binファイルを指すように$ PATH変数を更新します。私の場合、MongoDBをこのフォルダーにbrewインストールします。

/usr/local/Cellar/mongodb/2.4.6/

$ PATH変数を更新するには、次の手順を実行します。

$ Sudo vi /etc/paths

次に、「i」を押してViにテキストを挿入し、MongoDBパスを「paths」ファイルの最後に追加して、ターミナルを再起動します。

/usr/local/Cellar/mongodb/2.4.6/bin

「Esc:w q」を使用して保存し、Viエディターを終了します。

Echoを使用してパス変数を表示します。

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin

次に、Mongoのバージョンを確認してみてください。フォローしている場合は、正しい方向に進んでいます!

$ mongo --version
MongoDB Shell version: 2.4.6

次に、データベースディレクトリを作成する必要があります。 MongoDBドキュメントで推奨されているデフォルトの「/ data/db」の場所を使用しました。また、Mongoがログを作成しようとする際のアクセス許可の問題を避けるために、ログディレクトリを作成しました。所有権を変更すると、それが仕事をします。

$ Sudo mkdir /data/db
$ Sudo mkdir /data/log
$ whoami
username
$ chown -R username /data

次に、MongoDBのデフォルト設定ファイルを作成して、「mongod」コマンドを初めて実行するときに提供します。ここで、「mongod」がサービスを開始し、着信データ接続をリッスンすることを指摘したいと思います。これは、「$ service mysqld start」を実行した場合と同様です。設定ファイルを作成してみましょう。私は非常に基本的な設定ファイルを作成したことに注意してください。ただし、他の多くの変数を追加してMongoDBを構成できます。 MongoDBで遊ぶのはこれが初めてなので、MongoDBのドキュメントを読んで知っているだけです!「mongodb.conf」を作成しました。

$ Sudo vi /etc/mongodb.conf

次を追加:

fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true

MongoDBサーバーのデフォルトポートは27017です。ステップ5で作成したdbpathとlogpathに独自のパスを使用してください。confファイルを閉じて保存することを忘れないでください。

これで、MongoDBサービスを開始する準備が整いました。ターミナルの2つのインスタンスを開きます。ターミナル1で、次のように入力します。

$ Sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting

上記のメッセージが表示された場合、Mongodサービスが正常に開始されたことを確認してください。

次に、それに接続するには、ターミナル2で次のように入力します。

$mongo test
MongoDB Shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>

警告は無視しますが、「テスト」データベースに正常に接続されています!クール!

それで全部です。 Macに初めてMongoDBのコピーをインストールしようとしたときに、このソリューションを適用しました。これもあなたに役立つかどうかを確認してください。

詳細な投稿については、こちらをご覧ください- http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094 .

私はそれが役立つことを願っています!

乾杯、チンメイ

1
Chinmay