MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - MongoDBのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - MongoDB
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == MongoDBは、JSONライクなドキュメント形式でデータを管理するNoSQLデータベースである。<br> 従来のリレーショナルデータベース (RDBMS) とは異なり、固定されたテーブルスキーマを必要とせず、柔軟なデータ構造でデータを格納できる。<br> <br> MongoDBの主な特徴を以下に示す。<br> * ドキュメント指向 *: データをBSON (Binary JSON) 形式で格納し、階層構造や配列を自然に表現できる。 * スキーマレス *: 事前にスキーマを定義する必要がなく、アプリケーションの要件に応じて柔軟にデータ構造を変更できる。 * 高いスケーラビリティ *: シャーディング (水平分割) とレプリケーションにより、大規模なデータセットと高トラフィックに対応できる。 * 豊富なクエリ機能 *: アドホッククエリ、インデックス、集計パイプラインなど、強力なクエリ機能を提供する。 <br> MongoDBは、Webアプリケーション、モバイルアプリケーション、IoT、リアルタイム分析、コンテンツ管理システムなど、幅広い用途で利用されている。<br> <br> MongoDB Compassは、MongoDBの公式GUIクライアントである。<br> データベースの内容を視覚的に確認したり、クエリを対話的に作成したり、パフォーマンスを分析したりすることができる。<br> <br> MongoDB Shell (mongosh) は、MongoDBの公式コマンドラインインターフェースである。<br> JavaScript構文を使用してMongoDBを操作でき、スクリプトによる自動化にも対応している。<br> <br><br> == システム要件 == * CPU *: x86_64アーキテクチャ * メモリ *: 最低1[GB] RAM (2[GB]以上推奨) * ストレージ *: 最低1[GB]以上の空き容量 (データ保存用に別途必要) <br><br> == MongoDB Community Serverのインストール == ==== RHEL向け ==== ===== GPGキーのインポート ===== まず、MongoDBパッケージの署名検証用GPGキーをインポートする。<br> sudo rpm --import https://www.mongodb.org/static/pgp/server-8.0.asc <br> ===== リポジトリファイルの作成 ===== MongoDBの公式リポジトリを追加するため、リポジトリファイルを作成する。<br> sudo vi /etc/yum.repos.d/mongodb-org-8.0.repo <br> <syntaxhighlight lang="ini"> [mongodb-org-8.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc </syntaxhighlight> <br> ===== MongoDBのインストール ===== リポジトリを追加した後、MongoDBをインストールする。<br> sudo dnf install -y mongodb-org <br> インストールされるパッケージは以下の通りである。<br> * mongodb-org-server *: MongoDBサーバ本体 * mongodb-org-mongos *: MongoDBシャーディング用ルータ * mongodb-org-shell *: MongoDB Shell (mongosh) * mongodb-org-database-tools-extra *: データベース管理ツール <br> ===== サービスの起動と自動起動設定 ===== MongoDBサービスを起動し、自動起動を有効にする。<br> sudo systemctl start mongod sudo systemctl enable mongod <br> サービスの状態を確認する。<br> sudo systemctl status mongod <br> ===== インストールの確認 ===== MongoDBが正常にインストールされたか確認する。<br> mongod --version <br> ==== SUSE ==== ===== GPGキーのインポート ===== まず、MongoDBパッケージの署名検証用GPGキーをインポートする。<br> sudo rpm --import https://www.mongodb.org/static/pgp/server-8.0.asc <br> ===== リポジトリの追加 ===== MongoDBの公式リポジトリを追加する。<br> # MongoDB 8.2 sudo zypper addrepo --gpgcheck "https://repo.mongodb.org/zypper/suse/15/mongodb-org/8.2/x86_64/" mongodb # MongoDB 8.0 sudo zypper addrepo --gpgcheck "https://repo.mongodb.org/zypper/suse/15/mongodb-org/8.0/x86_64/" mongodb <br> リポジトリのメタデータを更新する。<br> sudo zypper refresh <br> ===== MongoDBのインストール ===== MongoDBをインストールする。<br> sudo zypper install mongodb-org <br> インストールされるパッケージは以下の通りである。<br> * mongodb-org-server *: MongoDBサーバ本体 * mongodb-org-mongos *: MongoDBシャーディング用ルータ * mongodb-org-shell *: MongoDB Shell (mongosh) * mongodb-org-database-tools-extra *: データベース管理ツール <br> ===== サービスの起動と自動起動設定 ===== MongoDBサービスを起動し、自動起動を有効にする。<br> sudo systemctl start mongod sudo systemctl enable mongod <br> サービスの状態を確認する。<br> sudo systemctl status mongod <br> ===== インストールの確認 ===== MongoDBが正常にインストールされたかどうかを確認する。<br> mongod --version <br><br> == MongoDB Shell (mongosh) == MongoDB Shellは、MongoDBとやり取りするためのコマンドラインインターフェースである。<br> mongodb-orgパッケージに含まれているため、MongoDB Community Serverをインストールした時点で使用可能である。<br> <br> ==== 個別インストール ==== MongoDB Shellのみを個別にインストールすることも可能である。<br> [https://www.mongodb.com/try/download/shell MongoDB Shellの公式ダウンロードページ]にアクセスして、環境に応じたパッケージをダウンロードする。<br> <br> # RHEL sudo dnf install mongodb-mongosh-<バージョン>.x86_64.rpm # SUSE sudo zypper install mongodb-mongosh-<バージョン>.x86_64.rpm <br> ==== 基本的な使用方法 ==== MongoDBに接続する。<br> mongosh <br> 認証付きで接続する場合は、以下に示すコマンドを実行する。<br> mongosh "mongodb://<ユーザ名>:<パスワード>@localhost:27017/admin" <br><br> == MongoDB Compassのインストール == ==== 概要 ==== MongoDB Compassは、MongoDBの公式GUIツールである。<br> データの視覚化、クエリの実行、インデックスの管理等をグラフィカルな環境で行うことができる。<br> <br> MongoDB Compassを使用するには、GUI環境 (GNOME、KDE等) が必要である。<br> <br> システム要件:<br> * 最低2[GB] RAM (4[GB]以上推奨) * 300[MB]以上のディスク空き容量 * GUI環境 (GNOME、KDE、Xfce等) <br> ==== RHEL ==== ===== ダウンロードとインストール ===== [https://www.mongodb.com/try/download/compass MongoDB Compassの公式ダウンロードページ]にアクセスして、RHEL向けのRPMパッケージをダウンロードする。<br> <br> または、以下に示すコマンドでダウンロードする。<br> wget https://downloads.mongodb.com/compass/mongodb-compass-<バージョン>.x86_64.rpm <br> ダウンロードしたRPMパッケージをインストールする。<br> sudo dnf install mongodb-compass-<バージョン>.x86_64.rpm <br> ==== SUSE ==== ===== ダウンロードとインストール ===== [https://www.mongodb.com/try/download/compass MongoDB Compassの公式ダウンロードページ]にアクセスして、SUSE向けのRPMパッケージをダウンロードする。<br> <br> または、以下に示すコマンドでダウンロードする。<br> wget https://downloads.mongodb.com/compass/mongodb-compass-<バージョン>.x86_64.rpm <br> ダウンロードしたRPMパッケージをインストールする。<br> sudo zypper install mongodb-compass-1.49.1.x86_64.rpm <br> ==== MongoDB Compassの起動 ==== アプリケーションメニューから[MongoDB Compass]を選択するか、以下に示すコマンドで起動する。<br> mongodb-compass <br> 初回起動時は、接続先の設定画面が表示される。<br> デフォルトの接続先は、<u>mongodb://localhost:27017</u> である。<br> <br><br> == MongoDBの初期設定 == ==== 設定ファイルの場所 ==== MongoDBの設定ファイルは以下に示す場所にある。<br> /etc/mongod.conf <br> 主要な設定項目を以下に示す。<br> * systemLog *: ログ出力設定 *: ログファイルのパス、ログレベル等 * storage *: データストレージ設定 *: データディレクトリ (デフォルト: /var/lib/mongo) *: ストレージエンジンの設定 * net *: ネットワーク設定 *: ポート番号 (デフォルト: 27017) *: バインドIPアドレス (デフォルト: 127.0.0.1) * security *: セキュリティ設定 *: 認証の有効化設定 <br> ==== 認証の有効化 ==== デフォルトでは、MongoDBは認証なしで接続できる状態になっている。<br> 本番環境では、必ず認証を有効にすることを推奨する。<br> <br> ===== 管理者ユーザの作成 ===== まず、MongoDB Shellで接続する。<br> mongosh <br> adminデータベースを選択する。<br> use admin <br> 管理者ユーザを作成する。<br> <syntaxhighlight lang="javascript"> db.createUser({ user: "admin", pwd: "password", roles: ["root"] }) </syntaxhighlight> <br> MongoDB Shellから切断する。<br> exit <br> ===== mongod.confの編集 ===== 設定ファイルを編集して、認証を有効にする。<br> sudo vi /etc/mongod.conf <br> 以下に示すセクションを追加または編集する。<br> <syntaxhighlight lang="yaml"> security: authorization: enabled </syntaxhighlight> <br> 設定を反映するため、MongoDBを再起動する。<br> sudo systemctl restart mongod <br> 認証付きで接続できることを確認する。<br> mongosh -u admin -p password --authenticationDatabase admin <br> ==== ファイアウォールの設定 ==== 外部からMongoDBに接続する場合は、ファイアウォールで27017番ポートを開放する必要がある。<br> <br> sudo firewall-cmd --permanent --add-port=27017/tcp sudo firewall-cmd --reload # または sudo SuSEfirewall2 open EXT TCP 27017 sudo systemctl restart SuSEfirewall2 <br> 設定を確認する。<br> sudo firewall-cmd --list-ports <br> ==== SELinuxの設定 : SELinuxを使用している場合 ==== RHELでSELinuxを有効にしている場合、MongoDBがカスタムパスを使用する時にSELinuxの設定が必要になることがある。<br> <br> カスタムデータディレクトリを使用する場合:<br> sudo semanage fcontext -a -t mongod_var_lib_t "/custom/path/mongodb(/.*)?" sudo restorecon -Rv /custom/path/mongodb <br> SELinuxのコンテキストを確認する。<br> ls -Z /custom/path/mongodb <br><br> == MongoDBの基本操作 == ==== mongoshでの接続 ==== ローカルホストに接続する。<br> mongosh <br> 認証付きで接続する。<br> mongosh -u admin -p password --authenticationDatabase admin <br> リモートホストに接続する。<br> mongosh "mongodb://username:password@hostname:27017/database" <br> ==== データベースの作成 ==== データベースを作成する。<br> use mydatabase <br> 現在のデータベースを確認する。<br> db <br> 全てのデータベースを一覧表示する。<br> show dbs <br> ==== コレクションの作成 ==== コレクション (テーブルに相当) を作成する。<br> db.createCollection("mycollection") <br> 全てのコレクションを一覧表示する。<br> show collections <br> ==== ドキュメントの挿入と検索 ==== * ドキュメント (レコードに相当) を挿入する。 *: <syntaxhighlight lang="javascript"> db.mycollection.insertOne({ name: "test", value: 123, created_at: new Date() }) </syntaxhighlight> *: <br> * 複数のドキュメントを1度に挿入する。 *: <syntaxhighlight lang="javascript"> db.mycollection.insertMany([ {name: "test1", value: 100}, {name: "test2", value: 200}, {name: "test3", value: 300} ]) </syntaxhighlight> <br> * ドキュメントを検索する。 *: <pre>db.mycollection.find()</pre> *: <br> * 条件を指定して検索する。 *: <pre>db.mycollection.find({name: "test"})</pre> *: <br> * ドキュメントを更新する。 *: <pre>db.mycollection.updateOne({name: "test"}, {$set: {value: 456}})</pre> *: <br> * ドキュメントを削除する。 *: <pre>db.mycollection.deleteOne({name: "test"})</pre> <br><br> == トラブルシューティング == ==== サービスが起動しない場合 ==== サービスのステータスを確認する。<br> sudo systemctl status mongod <br> ログファイルを確認する。<br> sudo tail -f /var/log/mongodb/mongod.log <br> データディレクトリの権限を確認する。<br> ls -ld /var/lib/mongo <br> 所有者が<code>mongod</code>ユーザになっていない場合は、以下のコマンドで修正する。<br> sudo chown -R mongod:mongod /var/lib/mongo sudo chown -R mongod:mongod /var/log/mongodb <br> ==== 接続できない場合 ==== MongoDBが起動しているか確認する。<br> sudo systemctl status mongod <br> ポートがリッスンしているか確認する。<br> sudo ss -tlnp | grep 27017 <br> 設定ファイルのバインドIPを確認する。<br> sudo grep bindIp /etc/mongod.conf <br> 外部から接続する場合は、<code>bindIp</code> を <code>0.0.0.0</code> に変更する必要がある。<br> <syntaxhighlight lang="yaml"> net: port: 27017 bindIp: 0.0.0.0 </syntaxhighlight> <br> 設定を変更した後は、MongoDBを再起動する。<br> sudo systemctl restart mongod <br> ==== 認証エラーの場合 ==== ユーザが正しく作成されているか確認する。<br> mongosh use admin db.system.users.find() <br> 認証データベースを正しく指定しているか確認する。<br> mongosh -u admin -p password --authenticationDatabase admin <br> 設定ファイルで認証が有効になっているか確認する。<br> sudo grep authorization /etc/mongod.conf <br><br> == アンインストール == ==== RHEL ==== まず、MongoDBサービスを停止する。<br> sudo systemctl stop mongod sudo systemctl disable mongod <br> MongoDBパッケージをアンインストールする。<br> sudo dnf remove mongodb-org* <br> データディレクトリとログディレクトリを削除する。<br> sudo rm -rf /var/lib/mongo sudo rm -rf /var/log/mongodb <br> 必要に応じて、リポジトリファイルを削除する。<br> sudo rm /etc/yum.repos.d/mongodb-org-8.0.repo <br> ==== SUSE ==== まず、MongoDBサービスを停止する。<br> sudo systemctl stop mongod sudo systemctl disable mongod <br> MongoDBパッケージをアンインストールする。<br> sudo zypper remove mongodb-org* <br> データディレクトリとログディレクトリを削除する。<br> sudo rm -rf /var/lib/mongo sudo rm -rf /var/log/mongodb <br> 必要に応じて、リポジトリを削除する。<br> sudo zypper removerepo mongodb <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,MongoDB,NoSQL,Database,データベース,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - MongoDB 8.0 Community Serverのインストール手順とMongoDB Compassの導入方法 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:その他データベース]]
インストール - MongoDB
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse