MongoDBが実行されているかどうかを確認する方法 (日本語)
MongoDBのサービスステータスを確認する
systemctlコマンドを使用:
- CentOS/RHEL:
sudo systemctl status mongod
出力例:
● mongod.service - MongoDB Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 202 3-08-29 10:44:48 UTC; 15h 45min ago
Active: active (running)
の状態であれば、MongoDBは実行中です。
mongoシェルを使用:
- MongoDBのインストールディレクトリに移動します。
mongo
コマンドを実行します。- 成功すれば、MongoDBのシェルが起動します。
mongo
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/
MongoDBのポートを確認する
- MongoDBはデフォルトで27017ポートを使用します。
netstat
コマンドを使用して、このポートがリスニングされているかどうかを確認できます。
netstat -ltnp | grep mongod
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1539/mongod
LISTEN
状態であれば、MongoDBは27017ポートでリスニングしています。
注意:
- MongoDBのサービス名やポート番号は、インストール方法やシステム設定によって異なる場合があります。
Bashスクリプト
#!/bin/bash
# MongoDBのサービスステータスを確認
if [[ $(systemctl status mongod | grep -i "Active: active") ]]; then
echo "MongoDB is running."
else
echo "MongoDB is not running."
fi
# MongoDBのポートを確認
if [[ $(netstat -ltnp | grep -i "mongod") ]]; then
echo "MongoDB is listening on port 27017."
else
echo "MongoDB is not listening on port 27017."
fi
Pythonスクリプト
import subprocess
# MongoDBのサービスステータスを確認
output = subprocess.run(["systemctl", "status", "mongod"], capture_output=True, text=True)
if "Active: active" in output.stdout:
print("MongoDB is running.")
else:
print("MongoDB is not running.")
# MongoDBのポートを確認
output = subprocess.run(["netstat", "-ltnp", "|", "grep", "mongod"], capture_output=True, text=True)
if "mongod" in output.stdout:
print("MongoDB is listening on port 27017.")
else:
print("MongoDB is not listening on port 27017.")
Node.jsスクリプト
const { exec } = require('child_process');
// MongoDBのサービスステータスを確認
exec('systemctl status mongod', (error, stdout, stderr) => {
if (error) {
console.error(`Error: ${error}`);
} else {
if (stdout.includes('Active: active')) {
console.log('MongoDB is running.');
} else {
console.log('MongoDB is not running.');
}
}
});
// MongoDBのポートを確認
exec('netstat -ltnp | grep mongod', (error, stdout, stderr) => {
if (error) {
console.error(`Error: ${error}`);
} else {
if (stdout.includes('mongod')) {
console.log('MongoDB is listening on port 27017.');
} else {
console.log('MongoDB is not listening on port 27017.');
}
}
});
説明:
- Bashスクリプト:
systemctl
コマンドとnetstat
コマンドを使用して、MongoDBのサービスステータスとポートを確認します。 - Pythonスクリプト:
subprocess
モジュールを使用して、Bashコマンドを実行し、出力結果を解析します。
MongoDBのシェルを使用する
- MongoDBのシェルに接続し、
serverStatus()
コマンドを実行します。
mongo
serverStatus()
- 出力結果に
running
が含まれていれば、MongoDBは実行中です。
MongoDB Compassを使用する
- MongoDB CompassというGUIツールを使用します。
- MongoDBインスタンスに接続し、ステータスを確認します。
- MongoDB Atlasというクラウドサービスを使用している場合、ダッシュボードでインスタンスのステータスを確認できます。
カスタムスクリプトを使用する
- MongoDBのサービスステータスやポートを監視するカスタムスクリプトを作成することもできます。
- 例えば、PythonやNode.jsを使用して、
systemctl
やnetstat
コマンドを実行し、結果を解析することができます。
- これらの方法は、MongoDBのインストール方法や環境によって異なる場合があります。
- 最適な方法を選択するには、使用しているMongoDBのバージョンや環境を考慮してください。
mongodb unix database