MongoDBインストール · 2 min read · Oct 21, 2025
Debian 12にMongoDBをインストールする方法

MongoDBはオープンソースのクロスプラットフォームで分散型のNoSQL(非SQLまたは非リレーショナル)データベースシステムです。従来のSQLデータベースのようにデータをテーブルに保存するのではなく、MongoDBは柔軟なドキュメントを使用してさまざまなデータ形式を保存します。MongoDBはデータを保存するためにバイナリJSON形式であるBSONを使用します。
MongoDBは、組み込みの高可用性、自動フェイルオーバーとデータ冗長性、分散クラスター全体でのシャーディングによる水平スケーリングを備えた分散型NoSQLデータベースであり、マルチリージョンの地理的展開をサポートしています。MongoDBは、CRUD操作(読み取りと書き込み)、データ集約パイプライン、テキスト検索、地理空間クエリをサポートするクエリAPIも提供しています。
このチュートリアルでは、Debian 12サーバーにMongoDBをインストールする方法を学びます。また、MongoDB認証を有効にし、’mongosh’ MongoDBクライアントを使用し、基本的なクエリを使用してMongoDBに新しいユーザーとデータベースを作成する方法も学びます。
前提条件
このチュートリアルを始める前に、以下を確認してください:
- Debian 12サーバー
- 管理者権限を持つ非ルートユーザー
Debianサーバーの準備
MongoDBをDebianサーバーにインストールする前に、以下の設定を適用することをお勧めします:
- systemdスクリプトを介して透明な巨大ページ(THP)を無効にする
- MongoDBユーザーのデフォルト制限を増加させる
- ‘ /etc/sysctl.conf ‘ファイルを介してスワップネスを有効にし、max_mmapメモリを増加させる
それでは、Debianサーバーを構成しましょう。
まず、以下の’nano’コマンドを実行して新しいサービスファイル/etc/systemd/system/disable-thp.serviceを作成します。
sudo nano /etc/systemd/system/disable-thp.service以下のサービススクリプトを貼り付けて、’ transparent_hugepage ‘を’ never ‘に設定します。
[Unit]
Description=透明な巨大ページ(THP)を無効にする
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
[Install]
WantedBy=multi-user.targetファイルを保存して終了します。
次に、以下の’systemctl’コマンドを実行してsystemdマネージャーをリロードします。その後、’ disable-thp ‘サービスを開始および有効にします。これにより、システム起動時に’ transparent_hugepage ‘が無効になります。
sudo systemctl daemon-reload
sudo systemctl enable --now disable-thp.service次に、’ nano ‘エディタを使用して新しいファイル/etc/security/limits.d/mongodb.confを作成します。
sudo nano /etc/security/limits.d/mongodb.conf以下の設定を挿入して、ユーザー’ mongod ‘の最大制限プロセスとファイルを’ 64000 ‘に設定します。
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000完了したら、ファイルを保存して終了します。
その後、以下の内容で’ /etc/sysctl.conf ‘ファイルを編集します。
sudo nano /etc/sysctl.conf以下の設定を行の最後に挿入します。
fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1ファイルを保存して終了します。
最後に、以下の’sysctl’コマンドを実行して、’ /etc/sysctl.conf ‘ファイルの変更を即座に適用します。
sudo sysctl -p
DebianにMongoDBサーバーをインストールする
Debianサーバーの構成が完了したので、MongoDBのインストールを開始しましょう。この場合、公式のMongoDBリポジトリを介してMongoDB 7.0をDebianサーバーにインストールします。
以下のコマンドで、Debianシステムに’ gnupg ‘および’ curl ‘パッケージをインストールします。
sudo apt install gnupg curl
次に、以下のコマンドでDebian用のMongoDB GPGキーとリポジトリを追加します。この場合、MongoDB 7.0用のリポジトリを設定します。
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmorecho "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
次に、以下の’ apt ‘コマンドを実行してパッケージリストを更新し、’mongodb-org’パッケージをインストールします。
sudo apt update && sudo apt install mongodb-org -y以下の出力で、MongoDBのインストールが確認できます。

インストールが完了したら、’systemctl’コマンドでsystemdマネージャーをリロードします。
sudo systemctl daemon-reload‘mongod’サービスを開始および有効にし、サービスが実行中であることを確認します。
sudo systemctl enable --now mongod
sudo systemctl status mongodMongoDBが実行中であれば、以下のような出力が表示されます。

認証によるMongoDBサーバーのセキュリティ
MongoDBがインストールされたので、MongoDB認証を有効にしてインストールを保護する必要があります。このセクションでは、MongoDB認証を設定し、MongoDB用の新しい管理者ユーザーを作成します。これにより、’ mongosh ‘またはMongoDBクライアントを使用し、基本的なMongoDBクエリを使用する方法を示します。
以下の’mongosh’コマンドでMongoDBサーバーにログインします。デフォルトのMongoDBインストールにはパスワードはありません。
mongosh‘ disableTelemetry() ‘コマンドを実行して、MongoDBからの匿名データ収集を無効にします。
disableTelemetry()‘ use ‘クエリを使用してデータベース’ admin ‘に切り替えます。
use admin次に、以下のクエリを実行して、MongoDBサーバーの管理者として使用される新しいユーザー’ myAdmin ‘を作成します。求められたらパスワードを入力してください。
db.createUser(
{
user: "myAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)‘ quit() ‘コマンドを入力してMongoDBサーバーから退出します。
quit()
次に、’ nano ‘エディタを使用して’ /etc/mongod.conf ‘ファイルを編集します。
sudo nano /etc/mongod.conf‘ security ‘オプションのコメントを外し、’ authorization: enabled ‘を追加してMongoDBの認証を有効にします。
security:
authorization: enabledファイルを保存してエディタを終了します。
次に、以下の’systemctl’コマンドを実行してMongoDBサーバーを再起動し、変更を適用します。
sudo systemctl restart mongodMongoDB認証のテスト
管理者ユーザーを作成し、MongoDBサーバーで認証を有効にしたので、’ myAdmin ‘ユーザーとしてMongoDBサーバーにログインして構成を確認しましょう。
以下の’mongosh’コマンドを実行して、’ myAdmin ‘ユーザーとしてMongoDBサーバーにログインし、求められたらパスワードを入力します。
mongosh --port 27017 --authenticationDatabase \
"admin" -u "myAdmin" -p
ログイン後、以下のクエリを実行してMongoDBサーバーへの接続状況を確認します。
db.runCommand({connectionStatus : 1})以下のように、’ myAdmin ‘ユーザーとしてMongoDBサーバーに接続されていることが確認できます。

最初のデータベースとユーザーの作成
このセクションでは、’mongosh’ MongoDBクライアントを介してアプリケーションで使用される新しいデータベースとユーザーを作成します。したがって、’ mongosh ‘環境にいることを確認してください。
まず、’ use ‘クエリを実行してターゲットデータベースを作成し、切り替えます。この例では、新しいデータベース’ mydb ‘を作成します。MongoDBプロンプトが’ mydb ‘に変更されます。
use mydb次に、以下のクエリを実行して、データベース’ mydb ‘に読み書きする権限を持つ新しいユーザー’ myUser ‘を作成します。求められたら新しいパスワードを入力します。
use mydb
db.createUser(
{
user: "myUser",
pwd: passwordPrompt(),
roles: [ { role: "readWrite", db: "mydb" },
{ role: "read", db: "reporting" } ]
}
)
次に、以下のクエリを実行して’ admin ‘データベースに切り替え、MongoDBサーバー上のユーザーのリストを確認します。
use admin
db.system.users.find()以下のように、ユーザー’ myAdmin ‘と’ myUser ‘が作成されているのが確認できます。
MongoDBサーバーから退出するには、’ quit() ‘を入力します。

最後に、以下のコマンドで新しいユーザー’ myUser ‘としてデータベース’ mydb ‘にログインします。求められたらパスワードを入力します。
mongosh --port 27017 -u "myUser" \
--authenticationDatabase "mydb" -p
以下のクエリを実行して現在の接続状況を確認します。
db.runCommand({connectionStatus : 1})‘ authInfo ‘セクションで、ユーザー’ myUser ‘およびデータベース’ mydb ‘として認証されていることが確認できます。

結論
おめでとうございます!Debian 12サーバーにMongoDB 7.0のインストールが完了しました。また、認証を有効にしてMongoDBサーバーを保護し、新しい管理者ユーザーを作成する方法も学びました。最後に、アプリケーション用の新しいMongoDBデータベースとユーザーを作成する方法も学びました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。