MongoDBは、スケーラビリティと開発者の敏捷性の両方を念頭に置いて設計された、オープンソースのドキュメント指向データベースです。リレーショナルデータベースのようにデータをテーブルと行に保存する代わりに、MongoDBでは、動的スキーマを使用してJSONのようなドキュメントを保存します。
MongoDBの目標は、キーバリューストア(高速でスケーラブル)とリレーショナルデータベース(豊富な機能を備えている)の間のギャップを埋めることです。
ここでは、CentOS 7 /RHEL7にMongoDBをインストールする方法を説明します。
MongoDBリポジトリを追加
MongoDBは、専用リポジトリからCentOS/RHELオペレーティングシステム用のパッケージを提供します。
システムにMongoDBリポジトリを追加します。
vi /etc/yum.repos.d/mongodb.repo
上記のリポジトリファイルに以下の情報を追加してください。
MongoDB 4.4
[mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
MongoDB 4.2
[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.0
[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をインストールする
MongoDBリポジトリを追加したら、次のコマンドを実行してMongoDBをインストールします。
yum -y install mongodb-org
| mongob-org(以下のコンポーネントをインストールするメタパッケージ) | |
|---|---|
| mongodb-org-server | サーバーパッケージ |
| mongodb-org-mongos | 共有デーモン |
| mongodb-org-shell | コマンドラインインターフェイス |
| mongodb-org-tools | MongoDBツール(インポート、エクスポート、復元、ダンプ、その他のツール) |
インストール後
管理者ユーザー
MongoDBには、ユーザーアクセスを制限するための認証メカニズムは付属していません。セキュリティを向上させるには、データベースを管理するための管理者ユーザーを作成します。
アクセス制御
管理者ユーザーを作成したら、MongoDB構成ファイルを編集して認証を有効にします。
vi /etc/mongod.conf
次に、mongod.confファイルに以下の行を追加します。
security: authorization: enabled
巨大なページを無効にする
MongoDBは、パフォーマンスの問題を引き起こすため、巨大なページを無効にすることをお勧めします。だから、先に進んで、透明な巨大なページを無効にしてください。
SELinux
CentOS 7 / RHEL 7でSELinuxを無効にすることをお勧めします。それでもSELinuxを使用する場合は、MongoDBのSELinuxポリシーをカスタマイズする必要があります。
MongoDBサービスの制御
MongoDBサービスを開始するには、次を実行します:
systemctl start mongod
ステータスMongoDBサービスを確認するには、次を実行します:
systemctl status mongod
出力:
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-08-03 15:05:50 EDT; 2s ago
Docs: https://docs.mongodb.org/manual
Process: 1806 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Process: 1804 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 1801 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 1800 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Main PID: 1809 (mongod)
CGroup: /system.slice/mongod.service
└─1809 /usr/bin/mongod -f /etc/mongod.conf
Aug 03 15:05:49 centos7.itzgeek.local systemd[1]: Starting MongoDB Database Server...
Aug 03 15:05:49 centos7.itzgeek.local mongod[1806]: about to fork child process, waiting until server is ready for connections.
Aug 03 15:05:49 centos7.itzgeek.local mongod[1806]: forked process: 1809
Aug 03 15:05:50 centos7.itzgeek.local systemd[1]: Started MongoDB Database Server.
MongoDBのバージョンを確認してください。
mongod --version
出力:
db version v4.4.0
Build Info: {
"version": "4.4.0",
"gitVersion": "563487e100c4215e2dce98d0af2a6a5a2d67c5cf",
"openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel70",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
netstatコマンドを使用して、MongoDBがポート27017でリッスンしているかどうかを確認します。
netstat -antup | grep -i 27017
出力:
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1809/mongod
読み取り:CentOS 7 / RHEL 7でnetstatコマンドが見つかりません–クイックフィックス
MongoDBにアクセス
次のコマンドを入力して、MongoDBシェルに接続します。
mongo
出力:
[root@centos7 ~]# mongo
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("68e2f93f-f60c-45de-a9ef-4f5dea620a4a") }
MongoDB server version: 4.4.0
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
>
をお試しください 結論
それで全部です。 CentOS 7 /RHEL7にMongoDBをインストールする方法を学んだことを願っています。コメントセクションでフィードバックを共有してください。