はじめに
MongoDBは、ドキュメントベースのNoSQLデータベースアプリケーションです。 MySQLとは異なり、データをさまざまなドキュメントにさまざまに保存できます。
さまざまなドキュメントのさまざまなフィールドが可能であり、データ構造は永続的に固定されていません。
このチュートリアルでは、CentOS8にMongoDBをインストールする方法を学びます。
前提条件
- 64ビットCentOS8Linuxを実行しているシステム
- sudoまたはroot権限を持つユーザーアカウント
- ターミナルウィンドウ/コマンドラインへのアクセス
CentOS8へのMongoDBのインストール
ステップ1:MongoDBソフトウェアリポジトリを追加する
デフォルトでは、MongoDBは公式のCentOSリポジトリでは利用できません。 MongoDBリポジトリを追加するには、ターミナルウィンドウを開き、MongoDBリポジトリ構成ファイルを作成します。
sudo nano /etc/yum.repos.d/mongodb-org-4.2.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
ファイルを保存します( Ctrl + o )そして終了します( Ctrl + x 。
ステップ2:MongoDBソフトウェアをインストールする
次のコマンドを使用して、CentOS8にMongoDBをインストールします。
sudo yum install –y mongodb-org
ステップ3:MongoDBサービスを開始する
次のコマンドを入力して、MongoDBサービスを開始します。
sudo systemctl start mongod
ユニットが見つからないというエラーが表示された場合は、次のコマンドを実行してから、前のコマンドを再試行してください。
sudo systemctl daemon-reload
MongoDBを永続的な機能として使用している場合は、次のコマンドを使用して、起動時に実行するように設定できます。
sudo systemctl enable mongod
MongoDBサービスが実行されているかどうかを確認するには、次のコマンドを使用します。
sudo systemctl status mongod
MongoDBのセットアップと構成
MongoDB管理者ユーザーの作成
使用するためにMongoシェルを開くことから始めます。次のコマンドを入力します:
mongo
プロンプトが単純な山かっこに変わります。
>
次に、管理者ユーザーアカウントに切り替えます:
use admin
次に、Mongoデータベースの管理者ユーザーアカウントを作成します。
db.createUser(
{
user: "mdbadmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
システムは次のように応答する必要があります:
次に、ユーザーのリストを表示します:
show users
作成したばかりのユーザー名に関する詳細が表示されます:
次のように入力して、Mongoシェルを終了します。
quit()
英数字のuserIdを覚えておいてください この例とは異なります。
MongoDB認証の構成
デフォルトでは、すべてのユーザーがMongoDBで任意の機能を実行できます。これには、ユーザーがアクションを実行するための適切な資格情報を持っている必要があります。
ステップ1:認証をオンにする
次のファイルを編集することから始めます:
sudo nano /lib/systemd/system/mongod.service
次の行を見つけます:
Environment="OPTIONS=--f /etc/mongod.conf"
--auth
を追加します 次のオプション:
Environment="OPTIONS= --auth -f /etc/mongod.conf"
ファイルを保存します( Ctrl + o )そして終了します( Ctrl + x 。
ステップ2:サービスをリロードして変更を適用する
mongod.serviceをリロードします:
sudo systemctl ––system daemon-reload
sudo systemctl restart mongod
ステップ3:Mongoユーザー認証をテストする
Mongoシェルに切り替え、adminユーザーを使用してすべてのユーザーを一覧表示します。
mongo
use admin
show users
エラーメッセージが表示されます:
次に、次のコマンドを使用して、パート2で作成した資格情報を使用して認証します :
db.auth(‘mdbadmin’, ‘password’)
システムは番号1で応答する必要があります:
1
次に、 show users
を実行してみます もう一度コマンド:
show users
mdbadmin
を置き換えます およびpassword
作成した実際のユーザー名とパスワードを使用します。システムは、パート2で以前と同じユーザー情報を表示する必要があります 。