アダム:
私は以前に mongodb の基本的な概念をいくつか学びました。記事のこのセクションでは、mongodb のインストールについて説明し、概要を説明します。
ポータル:
MongoDB ドキュメント--アーキテクチャ システム_Yidancheng ブログ-CSDN ブログ
MongoDB ドキュメント -- 基本概念 - A Single Cheng ブログ - CSDN ブログ
MongoDB ドキュメント - 基本的な使用方法 -クライアント (dos ウィンドウ) / 視覚化ツールで MongoDB の基本ステートメントを 使用する 正規表現を使用して検索する
公式サイトのチュートリアルは以下の通りです。
MongoDB のインストール - MongoDB-CN-マニュアル
バージョンの特徴
各バージョンの選択は次のとおりです。インストールおよびバージョンの選択の際に参照してください。
MongoDB 2.x バージョン:
このバージョンでは、集計パイプライン関数が導入されています。これは、SQL の GROUP BY 句や HAVING 句と同様に、データ パイプラインの原理を使用してデータ集計操作を実装する MongoDB の関数です。さらに、2.x バージョンには、シャード クラスターやプラグ可能ストレージ エンジンなどの重要な機能も追加されています。
MongoDB 3.2 バージョン:
このバージョンではシャード クラスターが改良され、シャード クラスターの構成がより簡単かつ柔軟になりました。さらに、バージョン 3.2 では、部分インデックス、ドキュメント検証、集計パイプラインなどの機能も追加されています。
MongoDB 3.4 バージョン:
このバージョンでは、データ複製 (レプリケーション) と障害回復 (フォールト トレランス) が改善され、システムの信頼性と可用性が向上しました。さらに、バージョン 3.4 では、地理空間インデックス、バイナリ データ、ユーザー定義関数などの機能も追加されています。
MongoDB 4.0 バージョン:
このバージョンでは、スケーラビリティ (Scalability)、パフォーマンス (Performance)、および信頼性 (Reliability) に重点を置いた MongoDB 4.0 が導入されています。マルチドキュメント トランザクション、集約パイプライン、ACID 保証などの新機能が導入されています。
MongoDB 4.2 バージョン:
このバージョンでは、クエリと集計の点で大幅に改善され、テキスト検索、地理空間クエリ、固定ビューなどの機能が追加されました。同時に、バージョン 4.2 では、より多くの操作と演算子をサポートするために、集約パイプライン (集約パイプライン) も強化されています。
つまり、
トランザクションは必要ありません。
単純なトランザクションには 3.4 を選択することをお勧めします。
分散トランザクションまたはその他の必要な機能には 4.0 を選択することをお勧めします。
学習目的には 4.2 を選択することをお勧めします。最新バージョンを選択することをお勧めします。
公式発表によると、MongoDB 7.0.0-rc10 (リリース候補) バージョンには主に次の新機能と改善が導入されています。
現在の最新:
- データの可用性と一貫性を向上させる新しいデータ修復ツールが導入されました。
- レプリカ セットの障害回復が強化され、より高速なフェイルオーバーとデータ回復が可能になります。
- 集約パイプラインが強化され、より多くの操作と演算子をサポートできるようになりました。
- 新しい地理空間クエリとインデックス作成機能が導入され、地理空間クエリの実行が容易になりました。
- パフォーマンスとスケーラビリティが向上し、より高いスループットとより優れた耐久性の保証が提供されます。
さらに、いくつかの既知のバグが修正され、システムの安定性とセキュリティが向上しました。全体として、MongoDB 7.0.0-rc10 には、データの可用性、一貫性、パフォーマンスの向上に役立つ多くの新機能と改善が導入されています。
この記事は 2 つの部分に分かれています。
通常の Linux インストール - mongodb 環境変数を構成する
docker のインストール - データ ボリュームを外部にマウントする
通常の Linux インストール
公式ホームページ(公式ダウンロードURL)
MongoDB コミュニティ Kubernetes オペレーターをインストールする | モンゴDB
1. 選択したバージョンに対応する tgz パッケージを公式 Web サイトからダウンロードします。
学習の必要性のため、ここでは最新バージョンを選択しました。
パッケージ化形式は tgz である必要があることに注意してください。
2. ファイルを Linux システムにアップロードします
サーバー接続ツールを使用して完了します。ストレージパスに注意してください。
3. mongdb インストール パッケージを解凍します。
まず、圧縮パッケージが配置されているディレクトリを入力します
対象ファイルを解凍します。Linux でファイルを解凍するコードは次のとおりです。
cd /压缩包存在路径
tar -zxvf 目标压缩文件.tgz
解凍が完了すると、mongodb フォルダーが取得されます。この時点で、以前の圧縮パッケージは削除できます。
このフォルダーには bin などのフォルダーが含まれます。
4. mongodbに必要なディレクトリを作成します
4/1. /usr/local ディレクトリに mongodb フォルダーを作成します
cd /usr/local
mkdir mongodb
mongodb を保存する場所に応じて、フォルダーを作成する場所に注意してください。
4/2. mongodb の下にデータ ディレクトリとログ ディレクトリを作成し、ログ ファイル mongodb.log を作成します。
cd mongodb #进入文件夹
mkdir data
mkdir logs
touch /usr/local/mongodb/logs/mongodb.log
5. mongodbのインストールディレクトリを移動する
解凍したファイル内のすべてのファイルを、管理しやすいように自分で作成したフォルダーに移動します。
Linux 構文に関する注意: /* は、ファイルを移動するすべてのサブファイルに対して mv 構文を使用します。
mv mongodb-linux-x86_64-rhel70-7.0.0-rc10/* /usr/local/mongodb
知らせ:
1. 現在のフォルダーの下、つまり記事のパスに従って、/usr/local パスの下にある必要があります。
2. 次のパスが移動先のパスです。
6. mongodbの環境変数を設定する
環境設定を行わないと、起動のたびに大量の起動パラメータを記述する必要があります。
環境変数の起動を構成します。
vim /etc/profile
ファイルに構成を追加します
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
設定ファイルを記述するときは、設定ファイルの指定に注意し、余分なスペースが入らないようにし、環境変数のパスに注意する必要があります。
知らせ!!!!:
環境変数を変更した後は、必ず再起動するか、次のコードを使用して変更した構成ファイルを再ロードしてください。
source /etc/profile
上記のコードを使用すると、 /etc/profile
ターミナルを閉じて再度開くことなく、ファイルが再ロードされ、最新の環境変数設定が適用されます。
または、ターミナルを閉じて再度開き、環境をリロードします
7. mongodb設定ファイルを追加します
対応する構成ファイルを追加し、コードを使用して構成ファイルを編集します。
vim /etc/mongodb.conf
共通構成を追加します。
#指定数据库路径
dbpath=/usr/local/mongodb/data
#指定MongoDB日志文件
logpath=/usr/local/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
#端口号
port=27017
#方便外网访问,外网所有ip都可以访问,不要写成固定的linux的ip
bind_ip=0.0.0.0
fork=true # 以守护进程的方式运行MongoDB,创建服务器进程
#auth=true #启用用户验证
#bind_ip=0.0.0.0 #绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定则默认本地所有IP
8. MongoDB の起動とシャットダウン
mongoDBフォルダーに権限を付与します。
sudo chmod -R 777 /usr/local/mongodb
bin ディレクトリを入力してください
cd /usr/local/mongodb/bin
MongoDB を開始します (-conf は構成ファイルを使用して開始します)
mongod -f /etc/mongodb.conf
MongoDB を閉じる (-conf は構成ファイルによって閉じられます)
mongod --shutdown -f /etc/mongodb.conf
実行中かどうかを確認する
#查看进程
ps -ef | grep mongod
視覚化ツールを使用した接続テスト
知らせ!!!:
接続する前に、オンライン セキュリティ グループでそのポート番号が許可されているか、Linux 上のファイアウォールのポート番号が開いているかを確認してください。
以下に、ファイアウォールをオフにする手順をいくつか示します。
在Linux中,关闭防火墙的指令取决于您使用的具体发行版。大多数发行版都使用了防火墙工具,如iptables或firewalld。
以下是几个常见发行版的关闭防火墙指令:
在Ubuntu或Debian上,可以使用以下命令关闭防火墙:
sudo ufw disable
在CentOS或RHEL上,可以使用以下命令关闭防火墙:
sudo systemctl stop firewalld
或者
sudo iptables -P INPUT ACCEPT
sudo iptables -P output ACCEPT
sudo iptables -P forward ACCEPT
sudo iptables -t nat -P PREROUTING ACCEPT
sudo iptables -t nat -P POSTrouting ACCEPT
sudo iptables -t mangle -P PREROUTING ACCEPT
sudo iptables -t mangle -P POSTrouting ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP
sudo iptables -t nat -P PRERouting DROP
sudo iptables -t nat -P postrouting DROP
sudo iptables -t mangle -P PREROUTING DROP
sudo iptables -t mangle -P POSTrouting DROP
这些命令将关闭iptables防火墙,但是请注意,这些命令可能会对系统造成安全风险
Docker は mongodb をインストールし、データ ボリュームをマウントします - 例としてバージョンは 4.2 です
1. mongodb4.2バージョンのイメージをプルする
docker pull mongo:4.2
2.Mongoイメージがあるか確認する
docker images
3. ディレクトリと設定ファイルを作成する
ディレクトリを作成します。
mkdir -p /root/mongo/data
mkdir -p /root/mongo/conf
mkdir -p /root/mongo/log
ファイルを作成します。
cd /root/mongo/conf
vim mongodb.conf
#端口
port=27017
#数据库文件存放目录
dbpath=/root/mongo/data
#日志文件存放路径
logpath=/root/mongo/log
#使用追加方式写日志
logappend=true
#以守护线程的方式运行,创建服务器进程
fork=true
#最大同时连接数
maxConns=100
#不启用验证
#noauth=true
#每次写入会记录一条操作日志
journal=true
#存储引擎有mmapv1、wiredTiger、mongorocks
storageEngine=wiredTiger
#访问IP
bind_ip=0.0.0.0
#用户验证
#auth=true
上記のパスと接続構成のパスはカスタマイズ可能であり、必要に応じて構成が調整されていることに注意してください。
4. mongo コンテナー (構成ファイルとデータを外部マウント) を実行して、データ ボリュームをマウントします。
docker run -d \
--name mongodb \
-p 27017:27017 \
-v /root/mongo/data:/data/db \
-v /root/mongo/conf:/data/conf \
-v /root/mongo/log:/data/log \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
--privileged=true \
--restart always \
mongo:4.2
このコードは、Docker で「mongodb」という名前のコンテナーを実行し、それをローカル ホストのポート 27017 にマップするために使用されます。コンテナーのデータ、構成、およびログ ディレクトリは、ローカルの /root/mongo/data、/data/conf、および /data/log ディレクトリに割り当てられます。
同時に、コンテナーは 2 つの環境変数 MONGO_INITDB_ROOT_USERNAME と MONGO_INITDB_ROOT_password も設定し、それぞれ「admin」と「123456」に設定します。これらの環境変数は、MongoDB の初期データベース設定のためにコンテナ内で使用できます。
さらに、コンテナーは特権モード (--privileged=true) も使用します。これにより、コンテナーはより多くのシステム権限を持つことができます。最後に、 --restart always オプションが使用されます。これは、コンテナーが終了後に常に自動的に再起動することを意味します。
要約すると、このコードの機能は、Docker で「mongodb」という名前の MongoDB コンテナーを実行し、それをローカル ホストのポート 27017 にマップし、コンテナーのデータ、構成、およびログ ディレクトリをローカルの /root/mongo にマップすることです。 /data、/data/conf、/data/log ディレクトリに移動し、MongoDB の初期データベース ユーザー名とパスワードを設定します。コンテナは特権モードを使用し、常に自動的に再起動します。
注: ユーザーとパスワードの行は必要ありません。これなしでどうやってこれを行うことができますか
-e MONGO_INITDB_ROOT_USERNAME=管理者 \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
これら 2 行のコードを削除するだけです。
5. 正常に動作しているか確認する
docker ps -a
6. 視覚化ツールを使用して接続を試みます - アカウントのパスワードを使用します
アカウントパスワード接続方式を使用します。
以下にユーザー名とパスワードを入力してください。