MongoDBは、クロスプラットフォームのドキュメント指向のNoSQLデータベースプログラムであり、オプションのスキーマを備えたJSONのようなドキュメントを使用します。 MongoDBは、MongoDB Inc.によって開発され、サーバー側のパブリックライセンスの下でライセンスされています。
MongoDBは、迅速に進化し、エレガントに拡張する必要があるインターネットおよびビジネスアプリケーションを構築する人々のために構築されました。あらゆる規模の企業や開発チームが、さまざまな理由でMongoDBを使用しています。
SQLデータベースのように行または列のテーブルにデータを格納する代わりに、MongoDBデータベースの各レコードは、データのバイナリ表現であるBSONで記述されたドキュメントです。その後、アプリケーションはこの情報をJSON形式で取得できます。
これは、歴史上の人物を説明する簡単なJSONドキュメントです。
{
"_id": 1,
"name": {
"first": "Ada",
"last": "Lovelace"
},
"title": "The First Programmer",
"interests": ["mathematics", "programming"]
}
関連コンテンツ
- DockerとDockerでMongodbを実行する方法-作成
- Mongodbで認証を設定する方法
- Rocky Linux /Centos8にMongodb5をインストールする方法
- Mongodb5をFedora34/35にインストールする方法
前提条件
フォローするには、次のものがあることを確認してください。
- 最新のOpenSUSELeapサーバー
- Linuxターミナルの知識
- インターネットへのアクセス
- サーバーまたはSudoアクセス権を持つユーザーへのrootアクセス
目次
- サーバーが最新であることを確認する
- MongoDBのインストール
- ファイアウォールでMongoDBポートを許可する
- MongoDBサービスの開始と有効化
- Mongodbに接続していくつかのテストコマンドを実行する
- MongoDBCommunityEditionをアンインストールする
1。サーバーが最新であることを確認する
先に進む前に、次のコマンドを使用して更新することにより、サーバーリポジトリとパッケージが最新バージョンであることを確認しましょう。
sudo zypper ref
sudo zypper up -y
2。 MongoDBCommunityEditionのインストール
Mongodbリポジトリは、デフォルトではOpenSUSELeapリポジトリでは使用できません。リポジトリを追加するには、次の手順を実行します。
MongoDB公開鍵をインポートします。
sudo rpm --import https://www.mongodb.org/static/pgp/server-5.0.asc
MongoDBをインストールできるように、リポジトリを追加します。
sudo zypper addrepo --gpgcheck "https://repo.mongodb.org/zypper/suse/15/mongodb-org/5.0/x86_64/" mongodb
最新バージョンのMongoDBをインストールするには、次のコマンドを発行します。
sudo zypper -n install mongodb-org
次の例のように、MongoDBの特定のリリースをインストールするには、各コンポーネントパッケージを個別に指定し、パッケージ名にバージョン番号を追加します。
sudo zypper install mongodb-org-5.0.2 mongodb-org-database-5.0.2 mongodb-org-server-5.0.2 mongodb-org-shell-5.0.2 mongodb-org-mongos-5.0.2 mongodb-org-tools-5.0.2
利用可能なMongoDBのバージョンを指定できます。ただし、zypper
新しいバージョンが利用可能になったときにパッケージをアップグレードします。意図しないアップグレードを防ぐには、次のコマンドを実行してパッケージを固定します。
sudo zypper addlock mongodb-org-5.0.2 mongodb-org-database-5.0.2 mongodb-org-server-5.0.2 mongodb-org-shell-5.0.2 mongodb-org-mongos-5.0.2 mongodb-org-tools-5.0.2
以前のバージョンのMongoDBパッケージは、異なるリポジトリの場所を使用します。 MongoDBのバージョンに適したドキュメントのバージョンを参照してください。
次のコマンドを使用して、インストールされているMongoDBのバージョンを確認できます。
~> mongo -version
MongoDB shell version v5.0.3
Build Info: {
"version": "5.0.3",
"gitVersion": "657fea5a61a74d7a79df7aff8e4bcf0bc742b748",
"openSSLVersion": "OpenSSL 1.1.1d 10 Sep 2019",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "suse15",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
3。 ファイアウォールでMongoDBポートを許可する
アクティブなfirewalld
がある場合 サーバー上のサービスであり、MongoDBサービスにネットワーク経由でアクセスできるようにするには、ポート27017/tcp
を許可します。 :
sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
送信元アドレスに基づいてアクセスを制限することもできます
sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \
source address="10.1.0.0/16" port protocol="tcp" port="27017" accept
4。 MongoDBサービスの開始と有効化
サービスがインストールされると、デフォルトでは開始されません。次のコマンドを使用してmongodbサービスを開始します:
sudo systemctl start mongod
ステータスを確認して、サービスが稼働中であることを確認します。
~> sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-11-04 15:19:22 UTC; 6s ago
Docs: https://docs.mongodb.org/manual
Process: 7088 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 7090 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 7091 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 7092 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 7107 (mongod)
CGroup: /system.slice/mongod.service
└─7107 /usr/bin/mongod -f /etc/mongod.conf
Nov 04 15:19:21 ip-10-2-40-60 systemd[1]: Starting MongoDB Database Server...
Nov 04 15:19:21 ip-10-2-40-60 mongod[7092]: about to fork child process, waiting until server is ready for connections.
Nov 04 15:19:21 ip-10-2-40-60 mongod[7107]: forked process: 7107
Nov 04 15:19:22 ip-10-2-40-60 mongod[7092]: child process started successfully, parent exiting
Nov 04 15:19:22 ip-10-2-40-60 systemd[1]: Started MongoDB Database Server.
私たちのmongodbサービスは稼働しています。次のコマンドを使用して、起動時に起動できるようにします。
sudo systemctl enable mongod
5。 Mongodbに接続していくつかのテストコマンドを実行する
mongoコマンドを使用してmongoシェルに接続します。
~> mongo --port 27017
MongoDB shell version v5.0.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("5d73c2e5-bedc-4f87-b1e3-6413336f3848") }
MongoDB server version: 5.0.3
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
We recommend you begin using "mongosh".
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
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
---
The server generated these startup warnings when booting:
2021-11-04T15:19:22.512+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2021-11-04T15:19:22.512+00:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
> db.version()
5.0.3
>
いくつかのテストコマンドを実行して、適切に機能することを確認しましょう。
> use citizix_db;
switched to db citizix_db
> db.users.save({
... name: "etowett",
... location: "Arctic Vault"
... });
WriteResult({ "nInserted" : 1 })
> db.users.find();
{ "_id" : ObjectId("6183fa50c4eb614f02efac0b"), "name" : "etowett", "location" : "Arctic Vault" }
6。 MongoDBCommunityEditionをアンインストールする
システムからMongoDBを完全に削除するには、MongoDBアプリケーション自体、構成ファイル、およびデータとログを含むすべてのディレクトリを削除する必要があります。
このプロセスは完全に MongoDBとその構成を削除し、すべて データベース。このプロセスは元に戻せないため、続行する前にすべての構成とデータがバックアップされていることを確認してください。
次のセクションでは、必要な手順について説明します。
MongoDBを停止
mongod
を停止します 次のコマンドを発行して処理します:
sudo service mongod stop
パッケージを削除します。
以前にインストールしたMongoDBパッケージをすべて削除します。
sudo zypper remove $(rpm -qa | grep mongodb-org)
データディレクトリを削除します。
MongoDBデータベースとログファイルを削除します。
sudo rm -r /var/log/mongodbsudo rm -r /var/lib/mongo
結論
このガイドでは、OpenSUSELeapサーバーにMongoDBをインストールして基本的な操作を行うことができました