新しいWindows 8コンピューターにMongoDBをインストールして実行しようとしています。しかし、mongo.exeシェルを使用すると、MongoDBに接続できないようです。
次のエラーが発生しました:
MongoDB Shell version: 2.4.8
connecting to: test
Sun Dec 15 14:06:39.835 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/Shell/mongo.js:146
exception: connect failed
MongoDBに正しく接続するにはどうすればよいですか? MongoDBがすでにインストールされており、Data Directoryもすべてセットアップされています。また、MongoDBログファイル用の特定のディレクトリを作成し、MongoDBサービスをインストールしました。
実行したディレクトリmongo.exe
には、実行可能ファイルmongod.exe
も表示されます。
mongo.exe
は、コマンドを発行してデータベースにクエリを実行できるサーバー/デーモンに接続するシェルです。mongod.exe
は、実際のmongo
サーバー/デーモンです。最初にmongod.exe
を実行してサーバーを起動し、次に新しいコマンドウィンドウでmongo.exe
を実行します。これで、シェルは実行中のサーバーに接続するはずです。本番環境では、別のコマンドウィンドウで実行するのではなく、mongod
をWindowsサービスとして設定することを検討します。
--dbpath
で指定されたもの以外のストレージエンジンによって生成されたデータファイルを含む--storageEngine
でmongod
を開始しようとすると、mongod
は開始を拒否します。 -dbpathは、mongodサーバーが起動時にチェックするパスパラメーターです。
-dbpath <path>
は、Windows環境では\data\db
である必要があります。
ログに記録されているように、デフォルトポート(つまり27017
)でローカルMongoDBインスタンスに接続しようとしています。
MongoDB
のインストール後、最初から始めましょう。 MongoDBをmongo
シェルに接続する方法。
注:mongodサーバーとmongo Shellを起動する前に、\data\db
のようなデフォルトでMongoDBのパスがC:\ drive
に作成されていることを確認してください。
MongoDBのドキュメントに記載されているとおり ここmongod
は、MongoDBシステムのプライマリデーモンプロセスです。データ要求を処理し、データアクセスを管理し、バックグラウンド管理操作を実行します。
localhostで実行されているMongoDBインスタンスにデフォルトのポート27017で接続するには:
ターミナルウィンドウのプロンプト(またはWindowsのコマンドプロンプト)で、<mongodb installation dir>
に移動します。
cd mongodbインストールディレクトリ
例えば私の環境では
C:\Program Files\MongoDB\Server\3.6\bin>mongod
注:デフォルトでは、MongoDBのインストールディレクトリはC:\Program Files\MongoDB\Server\x.x\bin
です。私の場所ではC:\Program Files\MongoDB\Server\3.6\bin
。ここで、x.xはMongoDBのバージョン番号を示します。
PATH
に<mongodb installation dir>/bin
を追加した場合、mongo
を実行できます
mongo
Mongo Shellを実行したいので、私の場所ではコマンドは次のようになります
C:\Program Files\MongoDB\Server\3.6\bin>mongo
Mongo Shellを実行すると、以下のようにそのような情報がいくつか見つかります。
C:\Program Files\MongoDB\Server\3.6\bin>mongo
MongoDB Shell version v3.6.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.0
Server has startup warnings:
2018-03-16T19:57:55.861+0530 I CONTROL [initandlisten]
2018-03-16T19:57:55.862+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-03-16T19:57:55.862+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-03-16T19:57:55.862+0530 I CONTROL [initandlisten]
2018-03-16T19:57:55.863+0530 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost.
2018-03-16T19:57:55.863+0530 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server.
2018-03-16T19:57:55.865+0530 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP
2018-03-16T19:57:55.865+0530 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to
2018-03-16T19:57:55.865+0530 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the
2018-03-16T19:57:55.868+0530 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning.
2018-03-16T19:57:55.870+0530 I CONTROL [initandlisten]
2018-03-16T19:57:55.871+0530 I CONTROL [initandlisten] Hotfix KB2731284 or later update is not installed, will zero-out data files.
2018-03-16T19:57:55.873+0530 I CONTROL [initandlisten]
2018-03-16T19:57:55.874+0530 I CONTROL [initandlisten] ** WARNING: The file system cache of this machine is configured to be greater than 40% of the total memory. This can lead to increased memory pressure and poor perf
ormance.
2018-03-16T19:57:55.876+0530 I CONTROL [initandlisten] See http://dochub.mongodb.org/core/wt-windows-system-file-cache
2018-03-16T19:57:55.877+0530 I CONTROL [initandlisten]
>
注:上記のmongoシェル警告メッセージ情報は私の環境にあります。これはMongoDB 3.6 version
に基づいています。環境によっては、このメッセージが異なる場合があります。これは、デフォルトでMongoDB Inc
から提供されるMongoDBのバージョンによって異なります。
このmongo Shell>
コマンドプロンプトのようになる場合は、コマンドプロンプト。これは、mongod
サーバーに正常に接続したことを意味します。
確認のためにmongo
Shellで確認し、次のようなコマンドを入力します。
>show dbs
MongoDBのすべてのデータベースを取得します。
> show dbs
admin 0.000GB
test 0.000GB
mongo
シェルプロンプトでデータベース情報を取得する必要がある場合は、mongod
サーバーに正常に接続したことを意味します。
注:デフォルトでは、MongoDBはadmin
およびtest
データベースを表示します。また、デフォルトでは、mongo Shellはtest
データベースに接続します。たとえば、mongo Shellにチェックインしてそのようなコマンドを入力するには
> db
test
>
Sudo_Oによる上記の回答のサポート
Windows 8でmongoを起動する手順。
Mongoのbinディレクトリに移動し、以下のコマンドを実行します-
mongod.exe --dbpath D:\username\Documents\data\db
Mongoの新しいcmdプロンプトウィンドウのbinディレクトリを開き、以下のコマンドを使用してmongo Shellを起動します-
mongo.exe
お役に立てれば!
Windowsでのmongo Shell間の接続には、よく設定されたdbpathが必要になることがよくあります。dbpathがすでに設定されている場合、mongodb Shellに接続する他のクエリはありません。 ここ 2つの異なるコマンドプロンプトを使用してmongo Shellをmongodサーバーに接続する方法と、dbpathが存在しないエラーを解決する方法について説明します。