MongoDBは、無料のオープンソースドキュメントデータベースです。これはNoSQLと呼ばれるデータベースのファミリーに属しており、MySQLやPostgreSQLなどの従来のテーブルベースのSQLデータベースとは異なります。
MongoDBでは、データは柔軟なJSONのようなドキュメントに保存され、フィールドはドキュメントごとに異なります。事前定義されたスキーマは必要なく、データ構造は時間の経過とともに変更できます。
このチュートリアルでは、CentOS8サーバーにMongoDBCommunityEditionをインストールして構成する方法について説明します。
MongoDBのインストール#
MongoDBは、CentOS8コアリポジトリでは使用できません。公式のMongoDBリポジトリを有効にして、パッケージをインストールします。
この記事を書いている時点で、公式のMongoDBリポジトリから入手できるMongoDBの最新バージョンはバージョン4.2です。インストールを開始する前に、MongoDBのドキュメントの「RedHatにインストール」セクションにアクセスして、新しいリリースが利用可能かどうかを確認してください。
rootまたはsudo権限を持つユーザーとして次の手順を実行して、CentOS8システムにMongoDBをインストールします。
-
mongodb-org.repoという名前の新しいリポジトリファイルを作成して、MongoDBリポジトリを有効にします/etc/yum.repos.d/内 ディレクトリ:
/etc/yum.repos.d/mongodb-org.reposudo nano /etc/yum.repos.d/mongodb-org.repo[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc古いバージョンのMongoDBをインストールする場合は、
4.2の各インスタンスを置き換えます お好みのバージョンで。 -
mongodb-orgをインストールします メタパッケージ:sudo dnf install mongodb-orgインストール中に、MongoDBGPGキーをインポートするように求められます。
yと入力しますEnterを押します 。次のパッケージは、
mongodb-orgの一部としてシステムにインストールされます。 パッケージ:-
mongodb-org-server-mongodデーモン、および対応するinitスクリプトと構成。 -
mongodb-org-mongos-mongosデーモン。 -
mongodb-org-shell-MongoDBへのインタラクティブなJavaScriptインターフェースであるmongoシェルは、コマンドラインを考慮して管理タスクを実行するために使用されました。 -
mongodb-org-tools-データ、統計、およびその他のユーティリティをインポートおよびエクスポートするためのいくつかのMongoDBツールが含まれています。
-
-
インストールが完了したら、MongoDBサービスを有効にして開始します。
sudo systemctl enable mongod --now -
インストールを確認するには、MongoDBデータベースサーバーに接続し、サーバーのバージョンを印刷します。
mongo次のコマンドを実行して、MongoDBのバージョンを表示します。
db.version()出力は次のようになります:
4.2.3
MongoDBの構成#
MongoDB構成ファイルの名前はmongod.confです。 /etcにあります ディレクトリ。ファイルはYAML形式です。
ほとんどの場合、デフォルトの構成設定で十分です。ただし、実稼働環境では、以下に示すように、セキュリティセクションのコメントを解除し、承認を有効にすることをお勧めします。
/etc/mongod.confsecurity:
authorization: enabled
authorization オプションは、データベースのリソースと操作へのユーザーのアクセスを規制する役割ベースのアクセス制御(RBAC)を有効にします。このオプションを無効にすると、各ユーザーは任意のデータベースにアクセスして、任意のアクションを実行できます。
MongoDB構成ファイルに変更を加えた後、mongodサービスを再起動します。
sudo systemctl restart mongod MongoDB構成オプションの詳細については、構成ファイルオプションのドキュメントページをご覧ください。
MongoDB認証を有効にした場合は、MongoDBインスタンスにアクセスして管理できる管理ユーザーを作成する必要があります。
まず、次のコマンドでMongoDBシェルにアクセスします:
mongo
次のコマンドを入力して、adminに接続します データベース:
use admin switched to db admin
mongoAdminという名前の新しいユーザーを作成します userAdminAnyDatabaseを使用 役割:
db.createUser({user: "mongoAdmin",pwd: "changeMe",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
管理MongoDBユーザーには必要に応じて名前を付けることができます。 次のコマンドでmongoシェルを終了します:
quit() 変更をテストするには、以前に作成した管理ユーザーを使用してmongoシェルにアクセスします。
mongo -u mongoAdmin -p --authenticationDatabase admin MongoDB shell version v4.2.3
Enter password:
use admin switched to db admin
次に、ユーザーを次のように印刷します:
show users {
"_id" : "admin.mongoAdmin",
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}