ubuntuでこのmongoコマンドを試しているときに、このエラーが発生しています。
ritzysystem@ritzysystem-Satellite-L55-A:~$ mongo
MongoDB Shell version: 2.6.1
connecting to: test
2014-10-06T12:59:35.802+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-10-06T12:59:35.802+0530 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/Shell/mongo.js:146
exception: connect failed
どうすればこれを修正できますか?.
みなさん、mongoを実行してみましたが、最終的には動作していませんでした。ハードディスクにスペースがなかったことがわかりました。実行中です。
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubunt
次のコマンドを実行します。
Sudo rm /var/lib/mongodb/mongod.lock
Sudo service mongod restart
MacOS:
rm /usr/local/var/mongodb/mongod.lock
Sudo service mongod restart
Mac OSでも同じ問題が発生しましたSudo mongodを実行して、新しいターミナルタブでmongoを実行します
私の場合、このエラーは、mongodbがデータの保存に使用する/ data/dbフォルダーがないことが原因でした。端末でこのコマンド$Sudo mongod
を入力してください。エラーメッセージが次のようなものである場合:
missing data/db folder error
フォルダーを作成するだけで準備完了です。
最初に、MongoDBを開始:
Sudo service mongod start
次に、実行:
mongo
Macでも同じ問題が発生し、homebrew経由でmongodbをインストールしました。 homebrew servicesコマンドでこの問題を解決します。
$ brew services start mongodb
$ mongo
$ brew services stop mongodb
おそらく、ハードドライブにスペースがありません。 promt df -h
を入力して確認してください
対応するパーティションで3GBを使用できる場合でも、mongoは失敗する可能性があることに注意してください。詳細については、ログを確認してください:cat /var/log/mongodb/mongod.log
これを行う:
Sudo rm /var/lib/mongodb/mongod.lock
Sudo service mongod restart
Ubuntu 16.04を使用している場合は、runnignでこれを把握できます。
lsb_release -a
/lib/systemd/system/mongod.service
に次の内容の新しいファイルを作成する必要があります。
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
コンソールを接続する前に、MongoDBのサービスを実行していることを確認してください。
サーバーを実行して起動します。
$ Sudo mongod
その後:
$ mongo
...
>
ディスク容量の問題を除いて、/var/log/mongodb
のログを確認して、mongodbの起動が失敗した理由の詳細を確認する必要があります。
cat /var/log/mongodb/mongod.log
2016-06-26T15:26:26.642+0800 I CONTROL [main] ***** SERVER RESTARTED *****
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] MongoDB starting : pid=8130 port=27017 dbpath=/var/lib/mongodb 64-bit Host=hadoop-master
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] db version v3.2.7
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] allocator: tcmalloc
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] modules: none
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] build environment:
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] distmod: ubuntu1404
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] distarch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] target_Arch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,192.168.3.10", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-06-26T15:26:26.678+0800 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-06-26T15:26:26.678+0800 I - [initandlisten] Fatal Assertion 28578
2016-06-26T15:26:26.678+0800 I - [initandlisten]
***aborting after fassert() failure
したがって、ここで/tmp
内のすべてのファイルをrmする必要があります。それは私にとってはうまくいきます。
私の場合、bind_ipは/ etc/mongodb.confファイルで127.0.0.1ではなかったため、bind_ipを127.0.0.1に変更します(コンマ区切りの値になる可能性があるため、 127.0.0.1がそれらの1つであることを確認してください)そしてrestartシステムを有効にします。直面している人にのみ再起動します
$Sudo service mongod restart
Failed to restart mongod.service: Unit mongod.service not found.
私は質問がUbuntuに関するものであることを理解しています。
ただし、Macで同じエラーが発生し、別のタブで$ Sudo mongod
を実行したくない場合は、Homebrewを使用している場合、接続エラーを修正するために次のことができます-
brew services start mongodb
このスレッドからの回答に基づいて- mongodbに接続できませんerrno:61接続が拒否されました
ファイルは/var/lib/mongodb/mongodb.lock
のみ削除します。実行後:mongo
。終わった
/etc/mongod.conf
で指定されたmongoのデータディレクトリが有効なパスではない可能性があります。
Sudo vi /etc/mongod.conf
が実際に存在する場合はパスを再確認し、dbPath
を確認してください。
私はあなたと同じエラーがあります、これは私の場合です:
~# mongod
2018-07-15T05:27:08.265+0000 I JOURNAL [initandlisten] journal dir=/data/db/journal
2018-07-15T05:27:08.265+0000 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed
2018-07-15T05:27:08.301+0000 I JOURNAL [durability] Durability thread started
2018-07-15T05:27:08.301+0000 I JOURNAL [journal writer] Journal writer thread started
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] MongoDB starting : pid=26796 port=27017 dbpath=/data/db 64-bit Host=ubuntu-s-2vcpu-4gb-sfo2-01
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten]
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten]
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten]
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] db version v3.0.6
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] git version: 1ef45a23a4c5e3480ac919b28afcba3c615488f2
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] build info: Linux build6.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] allocator: tcmalloc
2018-07-15T05:27:08.302+0000 I CONTROL [initandlisten] options: {}
2018-07-15T05:27:08.308+0000 I NETWORK [initandlisten] waiting for connections on port 27017
Mongodと入力してサーバーを起動し、control
+ c
と入力してシェルを終了します
その後、mongo
と入力すると、
~# mongo
MongoDB Shell version: 3.0.6
connecting to: test
2018-07-15T05:05:02.738+0000 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2018-07-15T05:05:02.739+0000 E QUERY Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
at connect (src/mongo/Shell/mongo.js:179:14)
at (connect):1:6 at src/mongo/Shell/mongo.js:179
ご覧のとおり、私のエラー情報はあなたと同じです。
これは、control
+ c
と入力したときにmongodがバックエンドプロセスで開始しない場合です。mongodを終了します。
--fork argsを追加して、プロセスデーモンプロセスを作成できます。
# mongod --logpath /usr/local/mongodb/log.txt --fork
--forkを使用する場合は--logpathを設定する必要があります
その後、mongoへの接続に成功します
データベースへの接続に問題がありました。いくつかの理由が考えられます。私にとっては、サーバーマシンのディスクスペースが不足しており、mongoがディスク不足のため接続を拒否しようとすると、サーバーマシンのローカルストレージをdu -sh
で確認し、ストレージスペースが少ない場合はログサイズを確認し、それに応じて措置を講じてください/etc/mongod.conf
のdbpathの矛盾と、mongod
で実際にdbpathを実行しているサーバーのために存在する可能性があります。このようなタイプの問題に直面している場合は、以下のリンクの回答を確認してください。 https://stackoverflow.com/a/53057695/82471
私の場合についてのいくつかの考え。
DbPathおよびlogPathのディレクトリをカスタム値(たとえば、/ data/mongodb/data、/ data/mongodb/log)に変更した場合、それらをmongodbユーザーに登録する必要があります。変更しない場合は、存在しない/ data/db/dir使用されます。
Sudo chown -R mongodb:mongodb /data/mongodb/
Sudo service mongod restart
ここの手順に従ってmongoを削除しました: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ そして次に、指定されたリンクの指示に従って再度インストールしました。すべてがスムーズに機能しました!
最新のMongoDB v 3.6.5のmongod.confファイルに変更があります+
以下は、Mac OS High Sierra v 10.12.3でこの問題を修正した方法です。
注:homebrewを使用してMongoDBをインストール/アップグレードしたと仮定します
mongo-バージョン
MongoDB Shell version v3.6.5
git version: a20ecd3e3a174162052ff99913bc2ca9a839d618
OpenSSL version: OpenSSL 1.0.2o 27 Mar 2018
allocator: system modules: none build environment:
distarch: x86_64
target_Arch: x86_64
find mongod.confファイル
Sudo find / -name mongod.conf`
/usr/local/etc/mongod.conf>最初の結果。
open mongod.confファイル
Sudo vi /usr/local/etc/mongod.conf
net:セクションのリモートアクセス用のファイルを編集します。
port: 27017
bindIpAll: true
#bindIp: 127.0.0.1 // comment this out
mongodbを再起動します
brewを使用してインストールした場合
brew services stop mongodb
brew services start mongodb
それ以外の場合は、プロセスを強制終了します。
Sudo kill -9 <procssID>
mongod
コマンドの後にSudo mongo
を入力するだけでそれを解決しました。
Mongo 3。*。*-OSX-2017
READMEから
RUNNING
ディレクトリをmongodb-osx-x86_64-3。*。*/binに変更します
単一のサーバーデータベースを実行するには:
$ mkdir /data/db
$ ./mongod
新規に移動端末
$ # The mongo javascript Shell connects to localhost and test database
$ # by default -Run the following command in new terminal
$ ./mongo
> help