[ MongoDB](https://cloud.tencent.com/product/mongodb?from=10680)は、無料のオープンソースドキュメントデータベースです。これは、NoSQLと呼ばれるデータベースのファミリーに属しています。 NoSQLは、[MySQL](https://cloud.tencent.com/product/cdb?from=10680)や[PostgreSQL](https://cloud.tencent.com/product/postgresql?from=10680)などの従来のリレーショナルデータベースとは異なります。
MongoDBでは、データはJSONのような形式のドキュメントとして柔軟に保存されます。事前定義されたスキーマは必要なく、データ構造はいつでも変更できます。
このガイドでは、CentOS8サーバーにMongoDBCommunityEditionをインストールして構成する方法について説明します。
MongoDBは、CentOS8コアソフトウェアソースでは使用できません。公式のMongoDBソフトウェアソースを有効にして、ソフトウェアパッケージをインストールします。
この記事を書いている時点で、公式のMongoDBソフトウェアソースの最新のMongoDBバージョンは4.2です。インストールを開始する前に、MongoDBドキュメント[Red Hatにインストール](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#configure-the-package-management-system-yum)にアクセスして、新しいリリースバージョンがあるかどうかを確認してください。
rootまたはsudo権限を持つユーザーとして次の手順を実行して、CentOS8システムにMongoDBをインストールします。
/ etc / yum.repos.d /
ディレクトリに mongodb-org.repo
という名前のソースファイルを作成して、MongoDBソースを開始します。sudo 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
-mongoシェル。MongoDBのインタラクティブなJavaScriptインターフェイスであり、主にコマンドラインを介していくつかの管理タスクを実行するために使用されます。 mongodb-org-tools
-データインポートツール、データエクスポートツール、データ統計ツールなど、いくつかのMongoDBツールが含まれています。sudo systemctl enable mongod --now
mongo
次のコマンドを実行して、MongoDBのバージョン番号を表示します。
db.version()
出力は次のようになります。
4.2.3
MongoDB構成ファイルの名前は mongod.conf
で、 / etc
ディレクトリにあります。このファイルは YAML
形式です。
デフォルトの構成は、ほとんどのユーザーシナリオに適しています。いずれの場合も、実稼働環境では、セキュリティの章を開いてユーザー認証を有効にすることをお勧めします: / etc / mongod.conf
security:
authorization: enabled
この authorization
オプションは、データと操作に対するユーザーのアクセスルールを指定するRole-Based Access Control(RBAC)
を有効にします。このオプションを無効にすると、すべてのユーザーが任意のデータにアクセスして任意の操作を実行できます。
MongoDB構成ファイルに変更を加えた後、mongodサービスを再起動します。
sudo systemctl restart mongod
MongoDB構成オプションについては、[構成ファイルオプションドキュメントページ](https://docs.mongodb.com/manual/reference/configuration-options/)をご覧ください。
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"}]}
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"]}
CentOS8サーバーにMongoDB4.2をインストールして構成する方法を説明しました。
このトピックの詳細については、[MongoDB 4.2マニュアル](https://docs.mongodb.com/manual/)をお読みください。
Recommended Posts