MongoDBは、無料のオープンソースドキュメントデータベースです。これは、MySQLやPostgreSQLなどの従来のテーブルベースのSQLデータベースとは異なるNoSQLデータベースとして分類されます。
MongoDBでは、データは柔軟なJSONのようなドキュメントに保存され、フィールドはドキュメントごとに異なります。事前定義されたスキーマは必要なく、データ構造は時間の経過とともに変更できます。
このチュートリアルでは、公式のMongoDBリポジトリからCentOS7サーバーにMongoDBCommunityEditionをインストールして構成する方法を示します。
前提条件#
このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
MongoDBのインストール#
この記事を書いている時点で、公式のMongoDBリポジトリから入手できるMongoDBの最新バージョンはバージョン4.0です。次のステップに進む前に、MongoDBのドキュメントの「RedHatにインストール」セクションにアクセスして、新しいリリースが利用可能かどうかを確認してください。
以下の手順に従って、CentOSサーバーにMongoDBの最新の安定バージョンをインストールします:
-
MongoDBリポジトリの有効化
MongoDBリポジトリーをシステムに追加するには、テキストエディターを開き、
/etc/yum.repos.d/mongodb-org.repomongodb-org.repo
という名前の新しいYUMリポジトリー構成ファイルを作成します。/etc/yum.repos.d/
内 ディレクトリ:[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
古いバージョンのMongoDBをインストールする場合は、
4.0
の各インスタンスを置き換えます お好みのバージョンで。 -
MongoDBのインストール
リポジトリが有効になったので、
mongodb-org
をインストールできます。 yumユーティリティを使用したメタパッケージ:sudo yum install mongodb-org
インストール中に、yumは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の起動
インストールが完了したら、MongoDBデーモンを起動し、次のように入力して起動時に起動できるようにします。
sudo systemctl start mongod
sudo systemctl enable mongod
-
MongoDBのインストールを確認する
インストールを確認するために、
mongo
を使用してMongoDBデータベースサーバーに接続します ツールを使用してサーバーバージョンを印刷します:mongo
MongoDBシェルに入ったら、次のコマンドを入力して、MongoDBのバージョンを表示します。
db.version()
出力は次のようになります。
4.0.1
MongoDBの構成#
/etc/mongod.conf
を編集して、MongoDBインスタンスを構成できます。 YAMLで記述された構成ファイル。
ほとんどの場合、デフォルトの構成設定で十分です。ただし、実稼働環境では、以下に示すように、セキュリティセクションのコメントを解除し、承認を有効にすることをお勧めします。
/etc/mongod.confsecurity:
authorization: enabled
authorization
オプションは、データベースのリソースと操作へのユーザーのアクセスを規制する役割ベースのアクセス制御(RBAC)を有効にします。このオプションを無効にすると、各ユーザーは任意のデータベースにアクセスでき、任意のアクションを実行できるようになります。
MongoDB構成ファイルに変更を加えた後、mongodサービスを再起動します。
sudo systemctl restart mongod
MongoDB 4.0で利用可能な構成オプションの詳細については、構成ファイルオプションのドキュメントページにアクセスしてください。
MongoDB認証を有効にした場合は、MongoDBインスタンスへのアクセスと管理に使用する管理用MongoDBユーザーを1人作成します。
まず、次のコマンドでmongoシェルにアクセスします:
mongo
MongoDBシェルに入ったら、次のコマンドを入力して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
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"
]
}
引数なしでmongoシェルにアクセスすることもできます(mongo
と入力するだけです)。 )、上記と同じコマンドを使用してユーザーを一覧表示できるかどうかを確認します。