MongoDB デプロイメント(シングルノード)
デプロイ開始手順
- MongoDB のインストールパッケージをダウンロードし、インストールディレクトリへ展開します。
- RedHat / CentOS 7.0 x64
- RedHat / CentOS 8.0 x64
- Debian 10.0+ x64
- その他
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.31.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.31.tgz
mv mongodb-linux-x86_64-rhel70-4.4.31 /usr/local/mongodb
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.31.tgz
tar -zxvf mongodb-linux-x86_64-rhel80-4.4.31.tgz
mv mongodb-linux-x86_64-rhel80-4.4.31 /usr/local/mongodb
- OSがDebian 10以上の場合、最初にlibssl1.1 の依存パッケージをインストールしてください。
wget https://pdpublic.mingdao.com/private-deployment/offline/common/libssl1.1_1.1.1w-0+deb11u1_amd64.deb
dpkg -i libssl1.1_1.1.1w-0+deb11u1_amd64.deb
- MongoDB のインストールパッケージをダウンロードし、インストールディレクトリへ展開します。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian10-4.4.31.tgz
tar -zxvf mongodb-linux-x86_64-debian10-4.4.31.tgz
mv mongodb-linux-x86_64-debian10-4.4.31 /usr/local/mongodb
- その他のOS用のインストールパッケージはMongoDB公式ダウンロードセンターより入手可能です。
- EulerOS、KylinOS、UOS は通常 RedHat 8.0 用インストールパッケージを利用できます。
- MongoDB 用のユーザーを作成します。
useradd -M -s /sbin/nologin mongodb
- データディレクトリおよびログディレクトリを作成し、権限を付与します。
mkdir -p /data/mongodb/ /data/logs/mongodb
chown -R mongodb:mongodb /usr/local/mongodb/ /data/mongodb/ /data/logs
- systemd 管理用ファイルを作成します。
cat > /etc/systemd/system/mongodb.service <<EOF
[Unit]
Description=MongoDB
[Service]
User=mongodb
Group=mongodb
LimitNOFILE=1000000
LimitNPROC=1000000
ExecStart=/usr/local/mongodb/bin/mongod --logpath /data/logs/mongodb/mongodb.log --dbpath /data/mongodb --auth --port 27017 --bind_ip 0.0.0.0
ExecStop=/usr/bin/kill \$MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
- 自動起動を有効化します。
# インストール直後はユーザーがまだ作成されていないため、systemctl start mongodb でサービスを先に起動しないでください
systemctl daemon-reload
systemctl enable mongodb
データベースユーザーの作成
- 一時的に認証機能を無効にした状態でmongodbサービスを起動します。
su -c '/usr/local/mongodb/bin/mongod --fork --logpath /usr/local/mongodb/mongodb.log --dbpath /data/mongodb --noauth --port 27017' -s /bin/bash mongodb
- ユーザーを作成します。
/usr/local/mongodb/bin/mongo <<< 'use admin
db.createUser({user:"root",pwd:"bxfC5J3HuYaY",roles:[{role:"root",db:"admin"}]})'
- 上記コマンドで指定されているrootユーザーはMongoDBの管理者です。パスワード
bxfC5J3HuYaYは実際の運用時に必ず変更してください。
- 一時的に起動したMongoDBを停止します。
kill $(pgrep -f 'mongod')
MongoDB の起動
systemctl start mongodb