CentOS 8 に MongoDB 4 をインストールする方法
MongoDB は、データを JSON 形式で保存する一般的なドキュメントベースの汎用 NoSQL データベース エンジンです。これは無料のオープンソースであり、いくつか例を挙げると、ファイル ストレージ、データ レプリケーション、アドホック クエリ、負荷分散などのクールで気の利いた機能が付属しています。 MongoDB をアプリケーションに組み込んでいる優良企業には、Adobe、Facebook、Google、eBayとコインベースです。
このチュートリアルでは、CentOS 8 に MongoDB をインストールする方法を学習します。
ステップ 1: MongoDB リポジトリを追加する
MongoDB はCentOS 8 のデフォルト リポジトリに存在しないため、手動で追加します。まず、次のようにリポジトリ ファイルを作成します。
vi /etc/yum.repos.d/mongodb.repo
以下の構成を貼り付けてファイルを保存します。
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/development/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
ステップ 2: CentOS 8 に MongoDB をインストールする
リポジトリを有効にしたら、次のステップでは、次の dnf コマンドを使用してMongoDBをインストールします。
dnf install mongodb-org
次に、以下のコマンドを実行してMongoDB を起動し、起動時に開始できるようにします。
systemctl start mongod
sudo systemctl enable mongod
MongoDB のステータスを確認するには、次のコマンドを実行します。
systemctl status mongod
あるいは、netstat ユーティリティを使用して、 実際にMongod サービスがリッスンしていることを確認することもできます。
netstat -pnltu
素晴らしい! MongoDB が稼働していることを確認しました。
ステップ 3: MongoDB シェルにアクセスする
次のコマンドを発行するだけで、MongoDB のシェルにアクセスできるようになりました。
mongo
以下のスクリーンショットに示すような出力が得られるはずです。
MongoDBan 管理者ユーザーの作成
さあ、気持ちを切り替えて管理者ユーザーを作成しましょう。
昇格されたタスクを実行するための昇格された権限を持つ管理者ユーザーを作成することは常に良いアドバイスです。これを行うには、まず MongoDB のシェルにアクセスします。
mongo
次に、実行してデータベース管理者に切り替えます。
> use admin
次に、以下のコードを実行して、新しい MongoDB ユーザーを作成します。
> db.createUser(
{
user: "mongod_admin",
pwd: "P@ssword@2019",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
成功すると、以下の出力が得られるはずです。
Successfully added user: {
"user" : "mongod_admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
作成された MongoDB ユーザーを一覧表示するには、実行します。
> show users
MongoDB の認証の構成
現状では、すべてのユーザーがシェルにアクセスして任意のコマンドを実行できますが、これはセキュリティ上の理由からまったくお勧めできません。これを念頭に置いて、他のユーザーが許可なくコマンドを実行できないように、作成したばかりの管理ユーザーの認証を作成する必要があります。
認証を有効にするには、/lib/systemd/system/mongod.service ファイルを編集し、[Service]
セクションで、図に示すように、Environment パラメータを見つけて編集します。
Environment="OPTIONS= --auth -f /etc/mongod.conf"
設定ファイルを保存して終了します。
変更を有効にするには、システムをリロードし、MongoDB を再起動します。
systemctl daemon-reload
systemctl restart mongod
ここで認証なしでユーザーをリストしようとすると、次のようなエラーが発生するはずです。
認証するには、次のように資格情報を渡すだけです。
> db.auth('mongod_admin', 'P@ssword@2019')
これで、その後任意のコマンドを実行できるようになります。もう一度ユーザーをリストしてみましょう。
> show users
今回は、認証資格情報が提供されたため、すべてがうまくいきました。
データベース エンジンを終了するには、次のコマンドを実行します。
> exit
今日はここまでです。ここまでで、CentOS 8 システムに MongoDB4 を快適にインストールし、いくつかの必要な手順を開始できることを願っています。