最近、mongodb-2.6.0を Homebrew でインストールしました。正常にインストールした後、mongo
コマンドを使用して接続しようとしました。接続できない次のエラーが表示されます。
Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused
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
MongodbサービスがMacで実行されていない場合に発生する可能性があります。それを開始するために、私は試しました
brew services start mongodb
そしてそれは働いた。
編集:homebrewに関するこのPRの議論によると: https://github.com/Homebrew/homebrew/issues/30628
brew services
は非推奨です。SOを見てみると、これらの回答が質問に答えていることがわかりました。 Linuxでmongodサービスを開始する正しい方法は何ですかOS X?
まったく同じ問題が発生しましたが、このエラーを回避するための明確な手順をステップごとに示します。
ステップ1-インストール(すでにMongoDBをインストールしている場合は、このステップに従わないでください):
brew update
brew install mongodb
ステップ2-Mongo Daemonを実行します:
mkdir -p /data/db
Sudo mongod
ステップ3-Mongo Shell Interfaceを実行します:
mongo
このシーケンスでは、mongo
コマンドをエラーなしで実行できました。また、エラートレースとその解決策について詳しく説明しました このブログ 。
問題を解決するには、「brew install mongodb」を使用した後、brewによって提供される指示に従う必要があります。
Launchdでログイン時にmongodbを起動するには:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
次に、mongodbを今すぐロードします。
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
または、launchctlが必要ない/必要ない場合は、次を実行するだけです。
mongod --config /usr/local/etc/mongod.conf
あなたはその最後のコマンドを実行することができるかもしれませんが、それは私のために機能せず、私は2番目のコマンドを実行する必要がありました。将来私を救うために。私も最初のコマンドを実行しました。お役に立てば幸いです!
EDIT Hrishiのbrew services mongodb start
の使用方法は、私にとってはうまくいきました。彼らはこれをmongo docsに含めるべきだと思います。
別のタブで、mongo Shellを開始できます
モンゴッド
次に、前のタブに戻ってもう一度やり直してください。 mongoshellのセットアップに問題がある場合は、mongo Shellで次のリンクを確認してください。 http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ またはこのリンクmongodbのインストール時: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
コマンドラインからmongod
を呼び出すときに同じ問題が発生していました。
代わりにSudo mongod
を呼び出してこれを解決しました。
osxを使用している私にとっては、実行中の古いインスタンスを強制終了してから、再起動する必要がありました。
$>ps -aef | grep mongo
502 8047 1 0 11:52AM ?? 0:00.23 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf
$>Sudo kill 8047
$>Sudo mongod
Homebrewでmongo 3.6にアップグレードした後、このエラーが発生しました。
ログ/usr/local/var/log/mongodb/mongo.log
にはメッセージshutting down with code:62
が含まれていました。このエラーコードは、現在のバージョンのmongoで実行するには既存のデータベースが古すぎることを意味します。
別の2つのソリューションを見つけました SO question :
/usr/local/var/mongodb
)アップグレードすることにしました。私の場合、3.4にダウングレードし、mongoコンソールでコマンドを実行してから、再度アップグレードする必要がありました。 Mongoでは、一度に1つのメジャーバージョンをアップグレードする必要があります。そのため、どれだけ前に戻ったかに応じて、追加の手順が必要になる場合があります。ドキュメントがあなたをガイドします。
brew switch
* およびbrew services restart
コマンドにより、バージョン間のスワップが比較的簡単になりました。
私は同じ問題を抱えていて、ログファイルを見るとこれを見ました:
{2019-03-09T11:57:32.136-0500 I STORAGE [initandlisten]
exception in initAndListen: NonExistentPath:
Data directory /usr/local/var/mongodb not found., terminating}
そのため、/usr/local/var/mongodb
ディレクトリを作成し、brewサービスを再起動し、mongodbコマンドを再起動しました。mongoコンソールを開くことができました。
すでにMongoDBをインストールしてから、最初にmongodをSudoユーザーとして実行しようとした場合、mongodをスーパーユーザーとして実行していないために問題に直面していました。
コマンド(mongodとSudo mongodの両方にo/pを貼り付けました-))一番下で、それも確認できますが、
最初にこれを試してみてください
Sudo mongod
これではない
mongod
次のコマンドを順番に実行して、MAC OS X Sierra 10.12.6にMongoDBをインストールしました。
brew update
brew install mongodb --devel
brew services start mongodb
次に、mongodプロセスがデータを書き込むディレクトリを作成します。mongodプロセスがデフォルトでデータを取得するため、これはオプションです。この便利なガイドを参照してください https://docs.mongodb.com/manual/tutorial/install-mongodb -on-os-x /
Sudo mkdir -p /data/db
最終的に開始されたmongodプロセスは次のとおり
Sudo mongod
mongod(失敗)およびSudo mongodの出力(成功)端末のコマンド。
MacBook-Pro-2:appscheck admin$ mongod
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] MongoDB starting : pid=2698 port=27017 dbpath=/data/db 64-bit Host=MacBook-Pro-2.local
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] db version v3.4.10
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] allocator: system
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] modules: none
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] build environment:
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] distarch: x86_64
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] target_Arch: x86_64
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] options: {}
2017-12-10T08:12:06.166+0530 I STORAGE [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating
2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to flush diaglog...
2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] now exiting
2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] shutting down with code:100
MacBook-Pro-2:appscheck admin$ Sudo mongod
Password:
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] MongoDB starting : pid=2700 port=27017 dbpath=/data/db 64-bit Host=MacBook-Pro-2.local
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] db version v3.4.10
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] allocator: system
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] modules: none
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] build environment:
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] distarch: x86_64
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] target_Arch: x86_64
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] options: {}
2017-12-10T08:12:14.084+0530 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7680M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-12-10T08:12:14.560+0530 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" }
2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-12-10T08:12:14.719+0530 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs
2017-12-10T08:12:14.720+0530 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4
2017-12-10T08:12:14.720+0530 I NETWORK [thread1] waiting for connections on port 27017
次に、新しいターミナルを開いてMongoDBのクエリを開始しました。
MacBook-Pro-2:appscheck admin$ mongo
MongoDB Shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
Welcome to the MongoDB Shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
> show dbs;
admin 0.000GB
local 0.000GB
> use practice
switched to db practice
>
それだけです。