UbuntuにMongoDBデータベースシステムをインストールするにはどうすればいいですか?

MongoDBの

このブログでは、いくつかのデータベースシステムについて説明しましたが、その中で最も人気のあるのはMariaDBとMySQLです。これらは、通常XamppまたはLamppに含まれているシステムです。 今回はお話します 別のシステムは MongoDB。

MongoDBは オープンソースのドキュメント指向のNoSQLデータベースシステム、 これは 高性能のデータ永続性のために設計された最新のドキュメントデータベース管理システム、 NoSQL技術のテクノロジーに基づく高可用性と自動スケーリング。

リレーショナルデータベースで行われるようにデータをテーブルに保存する代わりに、MongoDBはデータ構造をドキュメントに保存します、これはフィールドと値のペアで構成されるデータ構造です(MongoDBドキュメントはJSONオブジェクトに相当します)。

高性能と優れたスケーラビリティ特性を提供するため、強力でミッションクリティカルで可用性の高いデータベースを必要とする最新のアプリケーションの構築に使用されています。

UbuntuへのMongoDBのインストール

このデータベースシステムをシステムにインストールするには、 ターミナルを開いて、その中で次のコマンドを実行するだけです。

sudo apt install mongodb

インストールが完了しました。 MongoDBサービスはsystemd経由で自動的に開始されます プロセスはポート27017で実行されます。次のコマンドを使用してステータスを確認できます。

sudo systemctl status mongodb

そうでない場合は、次のコマンドで強制的に開始できます。

sudo systemctl start mongodb

MongoDBへのリモート接続を有効にする

Mongo DB 1

MongoDBデータベースシステムはデフォルトでポート27017を使用します。これを開く必要があります リモート接続を受け入れるには、次のコマンドでのみ有効にします。

sudo ufw allow 27017

デフォルトでは、ポート27017はローカルアドレス127.0.0.1からのみアクセスできます。 MongoDBへのリモート接続を許可するには、ファイルにサーバーのIPアドレスを追加する必要があります /etc/mongodb.conf

次のコマンドで編集するだけです。

sudo nano

そして、私たちはこれに似たものを見ることができます:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

サーバーからのデータで編集します。

どこからでもMongoDBへのアクセスを許可し、データベース内のデータへの無制限のアクセスを提供します。 したがって、MongoDBポートの場所固有のデフォルトIPアドレスへのアクセスを許可することをお勧めします。

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

これが完了したら、サービスを再起動して、新しい変更が最初に読み込まれるようにするだけで十分です。これを行うには、次のようにします。

sudo systemctl restart mongodb

パスワードを使用してMongoDBでユーザーを作成します

デフォルトでは、データベースへのアクセスは非常に簡単なので、これを強化するために、パスワードを使用してユーザーを作成できます。

MongoDBはSCRAM認証メカニズムを使用します デフォルトでは。 システムでSCRAMを使用すると、提供されたユーザー資格情報がユーザー名、パスワード、および認証データベースと照合されます。

次のコマンドでデータベースコンソールを起動するだけです。

Mongo

次の方法で既存のデータベースのリストを作成できます。

show dbs

ユーザーと機能を管理できるユーザーを作成できます ユーザーの作成、ユーザーロールの付与または取り消し、税関ロールの作成または変更など。

入力するだけです

use admin

そして、次のコマンドでユーザーを作成します、ユーザーの名前「root」とパスワード「password」を、適切と思われるアクセス基準に置き換えます。

db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})

これが完了したら、認証方法を有効にする必要があります このために、次のファイルを編集します。

sudo nano /lib/systemd/system/mongodb.service

そして次の行を探します:

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

次のように編集します。

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

現在 データベースで再起動するだけです

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y 認証方法を次の方法でテストします。

mongo -u "usuario" -p --authenticationDatabase "contraseña"

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   検出可能

    このエラーで私を助けてください。

    2021-03-24T21:33:16.233 + 0000 E QUERY [thread1]エラー:listDatabasesが失敗しました:{
    «ok»:0、
    "Errmsg": "管理者がコマンドを実行する権限がありません{listDatabases:1.0、$ db:\" admin \ "}"、
    「コード」:13、
    "CodeName": "無許可"
    }:
    _getErrorWithCode @ src / mongo / shell / utils.js:25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js:65:1
    shellHelper.show@src/mongo/shell/utils.js:816:19
    shellHelper@src/mongo/shell/utils.js:706:15
    @(shellhelp2):1:1