MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

1つのコマンドでMongoDBを安全に停止する方法|shutdownServerの使い方を解説

単一コマンドでMongoDBを停止する方法

MongoDBサーバーを1つのコマンドで停止したい場合は、mongoシェルの--evalオプションを使い、adminデータベースに対してshutdownServer()を実行するのが最も簡単な方法です。

使用するコマンドの基本構文は以下の通りです。

mongo --eval "db.getSiblingDB('admin').shutdownServer()"

getSiblingDB('admin')でadminデータベースに切り替えてからshutdownServer()を呼び出すことで、接続中のMongoDBサーバーをシャットダウンできます。

実行手順

それでは、実際にこのコマンドを実行してMongoDBを停止してみましょう。

まず、コマンドプロンプトを開きます。ショートカットキーを使う場合は以下のキーを押してください。

Ctrl + C

続いて、コマンドプロンプトで次のコマンドを入力して実行します。

C:\Program Files\MongoDB\Server\4.0\bin>mongo --eval "db.getSiblingDB('admin').shutdownServer()"

実行結果の確認

コマンドを実行すると、MongoDBサーバーのシャットダウン処理が開始されます。以下は実際の出力例です。

MongoDB shell version v4.0.5
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c0337c02-7ee2-45d9-9349-b22d6b1ffe85") }
MongoDB server version: 4.0.5
server should be down...
2019-03-14T21:56:10.327+0530 I NETWORK [js] trying reconnect to 127.0.0.1:27017 failed
2019-03-14T21:56:11.331+0530 I NETWORK [js] reconnect 127.0.0.1:27017 failed failed
2019-03-14T21:56:11.333+0530 I QUERY [js] Failed to end session { id: UUID("c0337c02-7ee2-45d9-9349-b22d6b1ffe85") } due to SocketException: socket exception [CONNECT_ERROR] server [couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it.]

出力の中に「server should be down...」と表示され、その後サーバーへの再接続に失敗するログが記録されていれば、MongoDBサーバーが正常に停止したことを意味します。接続エラーのように見えるログが出ますが、これはサーバーがすでに停止しているためシェルが再接続できないだけで、想定通りの動作です。

MongoDBを再起動する方法

停止したMongoDBを再度起動したい場合は、mongodコマンドを実行します。

C:\Program Files\MongoDB\Server\4.0\bin>mongod

コマンドを実行すると、サーバーが起動し、接続を待ち受ける状態になります。

起動確認

サーバーが正しく起動したかを確認するには、別のコマンドプロンプトを開いてmongoコマンドでシェルに接続してみましょう。

C:\Program Files\MongoDB\Server\4.0\bin>mongo

シェルに接続できれば、MongoDBサーバーが正常に稼働していることが確認できます。

まとめ

MongoDBを1コマンドで停止するには、mongo --eval "db.getSiblingDB('admin').shutdownServer()"を使用します。再起動はmongodコマンドで行い、mongoシェルで接続できるかどうかを確認すれば、サーバーの状態を簡単に管理できます。開発やメンテナンス作業の際にぜひ活用してください。

  1. MongoDBでコンソールをクリアする2つの方法|ショートカット「Ctrl + L」とコマンド「cls」の使い方

    MongoDBのシェル(mongo / mongosh)を使っていると、実行したクエリや結果がどんどん積み重なり、画面が見づらくなることがあります。そんなときに便利なのがコンソールのクリア機能です。MongoDBでは、以下の2つの方法でコンソールをクリアできます。 方法1:キーボードショートカット「Ctrl + L」を使う 最も手軽なのが、キーボードショートカットを使う方法です。次のキーを押すだけで、即座にコンソールをクリアできます。 Ctrl + L このキーを押すと、それまで表示されていたログや実行結果がすべて消え、まっさらな状態になります。Linuxのターミナルなどと同じ操作感なので、

  2. mongoコマンドでMongoDBシェルを起動する方法

    MongoDBシェルの起動方法MongoDBのシェル(対話型インターフェース)を起動するには、mongo コマンドを使用します。mongosではなく、クライアント用のシェルである mongo コマンドを実行する点に注意してください。基本構文> mongo起動手順まず、コマンドプロンプト(Windowsの場合はcmd)を開き、MongoDBがインストールされているbinディレクトリへ移動します。以下のようなパスになります。cd C:\Program Files\MongoDB\Server\<バージョン>\binbinディレクトリに移動したら、次のコマンドを入力してMongoD