Linux での MongoDB のインストールと設定のチュートリアル

Linux での MongoDB のインストールと設定のチュートリアル

MongoDBインストール

Yumを使用してインストールすることを選択する

1. repoファイルを作成する

cat << EOF > /etc/yum.repos.d/mongodb-org-4.2.repo
[mongodb-org-4.2]
name=MongoDBリポジトリ
ベースURL=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/
gpgcheck=1
有効=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
終了
12345678

baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/インストールに失敗しました。アドレスを 7 に設定し、 centos7ベースのバージョンをインストールしてください。正常にインストールできます
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/

2. yumコマンドを使用してインストールする

mongodb-orgをインストールします

3. mongodbを起動する

サービスをインストールして起動したら、

開始、停止、再起動のコマンドは次のとおりです。

サービスmongod開始
サービス モンゴッド ストップ
サービスmongodの再起動

4. mongodbへのリモート接続を開く

mongodbの設定ファイルは/etc/mongod.confです。

リモートアクセスを開きたい場合は、ファイルのbindIp値を0.0.0.0に変更する必要があります。そうしないと、他のコンピューター経由で接続できなくなります。

mongod.conf を vim で編集する

ファイルを変更した後、設定を有効にするには再起動が必要です。

サービスmongodの再起動

それでもリモート接続できない場合は、ファイアウォールの状態を確認してください。ファイアウォールがオンになっている場合はオフにするか、ファイアウォールでポート 27017 を開放してください (このポートはmongodbのデフォルト ポートであり、 mongodbのポートは構成ファイルで変更できます)。
ファイアウォールの状態を確認する

ファイアウォール-cmd --state

ファイアウォールのステータスを無効にする

systemctl 停止 ファイアウォールd.service

ファイアウォールのポート27017を開く

ファイアウォールコマンド --permanent --zone=public --add-port=27017/tcp
ファイアウォール-cmd --reload

リモート接続できるかどうかをテストする

http://サーバIP:27017/

Alibaba Cloud Serverはポートのセキュリティグループを追加する必要がある

5. ユーザーとパスワードを作成する

1. mongo shellに入る

[root@iZ2ze1wbnx7ym2bkq1xtk5Z conf.d]# mongo
MongoDB シェル バージョン v4.2.8
接続先: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
暗黙的なセッション: session { "id" : UUID("73551ca3-8d61-4ce2-a5d1-c0563f9828d4") }
MongoDB サーバー バージョン: 4.2.8
サーバーの起動時に警告があります:
2020-07-01T15:24:12.665+0800 I コントロール [initandlisten]
2020-07-01T15:24:12.665+0800 I CONTROL [initandlisten] ** 警告: データベースのアクセス制御が有効になっていません。
2020-07-01T15:24:12.665+0800 I CONTROL [initandlisten] ** データと構成への読み取りおよび書き込みアクセスは制限されません。
2020-07-01T15:24:12.665+0800 I コントロール [initandlisten]
2020-07-01T15:24:12.665+0800 I コントロール [initandlisten]
2020-07-01T15:24:12.665+0800 I CONTROL [initandlisten] ** 警告: /sys/kernel/mm/transparent_hugepage/enabled は「always」です。
2020-07-01T15:24:12.665+0800 I CONTROL [initandlisten] ** 「never」に設定することをお勧めします
2020-07-01T15:24:12.665+0800 I コントロール [initandlisten]
---
MongoDBの無料クラウドベースの監視サービスを有効にすると、
デプロイメントに関するメトリック (ディスク使用率、CPU、操作統計など)。

監視データは、アクセスできる固有のURLを持つMongoDBウェブサイトで利用可能になります。
URLを共有する人全員に通知します。MongoDBはこの情報を使用して製品の品質向上に努めます。
改善を行い、MongoDB 製品と展開オプションを提案します。

無料モニタリングを有効にするには、次のコマンドを実行します: db.enableFreeMonitoring()
このリマインダーを永続的に無効にするには、次のコマンドを実行します: db.disableFreeMonitoring()
---

>

2. adminデータベースに切り替える

adminライブラリはmongodbに自動的に含まれており、ユーザーと権限の管理に使用されます。すべてのユーザーの追加、削除、権限制御を管理できるスーパーユーザーを作成します。

> 管理者を使用する
db管理者に切り替えました

3. アカウントを追加する

スーパー管理者権限 ( userAdminAnyDatabaseおよびreadWriteAnyDatabase権限) を持つユーザーを作成します。ユーザー名とパスワードは任意ですが、役割は次の2つである必要があります。

db.createUser() 関数は、 
{ 
ユーザー名: "alenghan"、パスワード: "123456"、役割: [
{ 
ロール: "userAdminAnyDatabase"、db: "admin" 
},
「読み取り書き込み任意データベース」 
] 
}
)

注: ``db.createUser()` の具体的な使用法: リンク アドレス

作成後はコマンドリンクを使用できます

mongo --port 27017 -u "alenghan" --authenticationDatabase "admin" -p 123456

4. mongo.confファイルを変更する

mongodb service mongod stop )、設定ファイル ( /etc/mongod.conf ) を変更します。

mongod.conf を参照してください。
# すべてのオプションのドキュメントについては、以下を参照してください。
# http://docs.mongodb.org/manual/reference/configuration-options/

# ログデータを書き込む場所。
systemLog: #システムログ
出力先: ファイル #ログ出力先
logAppend: true # true の場合、mongod/mongos が再起動されると、ログは既存のログの末尾に引き続き追加されます。それ以外の場合は、現在のログ ファイルがバックアップされ、新しいログ ファイルが作成されます。デフォルトは false です。
パス: /var/log/mongodb/mongod.log #ログパス

# データをどこにどのように保存するか。
ストレージ:
dbPath: /var/lib/mongo # mongod プロセスはデータ ディレクトリを保存します。この構成は mongod プロセスに対してのみ有効です。
ジャーナル:
enabled: true #ジャーナル ログの永続ストレージを有効にするかどうか。ジャーナル ログはデータ回復に使用され、mongod の最も基本的な機能であり、通常は障害回復に使用されます。 64 ビット システムのデフォルト値は true、32 ビット システムのデフォルト値は false です。この機能は mongod プロセスに対してのみ有効なので、有効にすることをお勧めします。
# engine: #ストレージ エンジンの種類。Mongodb 3.0 以降では、「mmapv1」と「wiredTiger」の 2 つのエンジンがサポートされています。デフォルト値は「mmapv1」です。公式では、wiredTiger エンジンの方が優れていると主張しています。
# wiredTiger: #wiredTiger エンジン構成に有効

# プロセスの実行方法
プロセス管理:
fork: true # フォークしてバックグラウンドで実行
pidFilePath: /var/run/mongodb/mongod.pid # pidfile の場所 PID ファイル パス
タイムゾーン情報: /usr/share/zoneinfo

# ネットワークインターフェース
ネット:
ポート: 27017 #ポート
バインドIP: 127.0.0.1
# すべての IPv4 および IPv6 アドレスにバインドするには 0.0.0.0,:: と入力するか、net.bindIpAll 設定を使用します。複数の外部ネットワーク オペレーションを区切るには、コンマを使用します。すべての外部ネットワーク アクセスを許可する場合は、0.0.0.0 と入力します。
# maxIncomingConnections: 65536 #プロセスで許可される接続の最大数は、デフォルトでは 65536 です
# wireObjectCheck: true #クライアントがデータを書き込むときにデータの有効性をチェックします (BSON) デフォルト値は true です

#security: #セキュリティ関連の設定
#authorization: enabled #disabled または enabled は mongod に対してのみ有効です。これは、ユーザー アクセス制御 (アクセス制御) が有効かどうか、つまり、クライアントがユーザー名とパスワードの認証によってシステム データにアクセスできるかどうかを示します。デフォルトは「無効」で、クライアントはパスワードなしでデータベース データにアクセスできます。 (クライアントとmongodおよびmongos間の認証を制限します)
#javascriptEnabled: true #true または false。デフォルトは true で、mongod に対してのみ有効です。サーバー側の javascript 機能をオフにするかどうか、つまり mongod で javascript スクリプトを実行できるようにするかどうかを示します。false の場合、mapreduce、グループ コマンドなどは mongod で javascript スクリプト メソッドを実行する必要があるため使用できません。アプリケーションで MapReduce などの操作が必要ない場合は、安全上の理由から JavaScript をオフにすることができます。

#operationProfiling: #パフォーマンス アナライザー
#slowOpThresholdMs: 100 #データベース プロファイラーが操作を「遅いクエリ」として判断するために使用する時間しきい値 (ミリ秒単位)。
#mode: off #データベースプロファイラレベルでは、操作のパフォーマンス情報がログファイルに書き込まれます。
# オプション値: 1) off: プロファイリングをオフにする
# 2) slowOp: オン、遅い操作ログのみを含む
# 3) すべて: オン、すべての操作を記録する
# データベース プロファイリングはパフォーマンスに影響するため、パフォーマンスのデバッグ時にのみ有効にすることをお勧めします。このパラメータはmongodに対してのみ有効です。

#レプリケーション: #マスタースレーブレプリケーション マスタースレーブモード これは重要なポイントであり、別途議論する必要があります
#oplogSizeMB:10240 #レプリケーション操作ログの最大サイズ、単位: MB。

#シャーディング: #シャーディングアーキテクチャはクラスターで使用されますが、まだ連絡はありません

要約する

Linux での MongoDB のインストールと設定に関するこの記事はこれで終わりです。Linux での MongoDB のインストールと設定の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux での MongoDB のインストールに関するチュートリアル
  • Linux で MongoDB をインストールする方法
  • Linux システムでの MongoDB シングルノード インストール チュートリアル
  • Linux サーバーに PHP MongoDB 拡張機能をインストールする方法
  • LinuxにPHP MongoDBドライバーをインストールする
  • Linux システムに NoSQL (MongoDB および Redis) をインストールするための手順とソリューション (概要)
  • Linux システムでの MongoDB の簡単なインストールと基本操作
  • コマンドラインを使用して MongoDB をインストールするガイド (Windows、Linux)
  • Linux インストール MongoDB の起動と一般的な問題の解決

<<:  Vueのdiffアルゴリズムについての簡単な説明

>>:  Ubuntu 18.0.4 MySQL 8.0.20 のインストールと設定方法のグラフィックチュートリアル

推薦する

MYSQL大規模書き込み問題の最適化の詳細な説明

概要: MySQL のパフォーマンス最適化について話すとき、誰もがクエリ パフォーマンスを向上させる...

Vue カードスタイルのクリックして切り替える画像コンポーネントの使用方法の詳細な説明

この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...

JavaScript ツールチェーンの不完全なガイド

目次概要静的型チェックコードスタイルチェック(Linter)パッケージマネージャーモジュールローダー...

CSSはコンテンツの高さが足りない場合にフッターを自動的に下部に固定します

UI カットのプロセスでは、ページはヘッダー、コンテンツ、フッターの 3 つの部分で構成されることが...

MySQL パフォーマンス チューニングについて知っておくべき 15 個の重要な変数 (要約)

序文: MYSQL は最も人気のある WEB バックエンド データベースです。最近、NOSQL がま...

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

Vueコンポーネントの詳細な説明

<本文> <div id="ルート"> <h2&...

Vueプロジェクトはログインと登録の効果を実現します

この記事の例では、ログインと登録の効果を実現するためのvueプロジェクトの具体的なコードを共有してい...

MySQL データベースは SQL ステートメントを知っている必要があります (拡張バージョン)

拡張版です。質問とSQL文は以下の通りです。ユーザー テーブルを作成し、id、name、gender...

JavaScript のクロージャの詳細な説明

導入クロージャは JavaScript の非常に強力な機能です。いわゆるクロージャは関数内の関数です...

CSS でフッターの「下部吸収」効果を実現

よく遭遇する問題: 下部の要素を「下部に貼り付ける」効果を CSS でどのように実現するか。この記事...

CSS3で実装された水平ヘッダーメニュー

結果:実装コードhtml <nav class="dropdownmenu"...

Linux ディスクとディスク パーティションを理解するための記事

序文Linux システムのすべてのハードウェア デバイスは、ファイルの形式で表現され、使用されます。...

vue3.0共通コンポーネントの自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

nginx高可用性クラスタの実装プロセス

この記事は主に、nginx 高可用性クラスタの実装プロセスを紹介します。この記事のサンプルコードは非...