はじめに
MongoDBは、Web開発で使用されるデータベースアプリケーションであり、高性能、高可用性、および自動スケーリングを提供します。
MySQLのような従来のデータベースはリレーショナルですが、MongoDBはデータをJSONドキュメントとして保存します。これは、複雑なデータを保存したり、既存のデータ構造に影響を与えずにドキュメントを変更したりする場合に特に便利です。
このガイドでは、Ubuntu18.04にMongoDBをインストールする方法を説明します。
前提条件
- 64ビットUbuntu18.04を実行しているシステム
- sudo権限を持つUbuntuのユーザーアカウント
- ターミナルウィンドウ/コマンドラインアクセス
デフォルトのUbuntuリポジトリからMongoDBをインストールする(簡単)
MongoDBのインストール
パッケージリストを更新および更新することから始めます:
sudo apt-get update
sudo apt-get upgrade
プロセスが終了するのを待ってから、MongoDBアプリケーションをインストールします:
sudo apt-get install mongodb
y。と入力して、インストールの確認を求めるメッセージが表示されます。
バージョンを確認することで、インストールを確認できます:
mongod ––version
この例では、リポジトリからインストールされたMongoDBのバージョンは v3.6.3です。 。
起動時にMongoDBサービスが実行され、有効になっていることを確認してください:
sudo systemctl status mongodb
下の画像に示されている出力は、サービスがアクティブであることを確認しています。
MongoDBサービスの管理
次のコマンドを使用して、MongoDBサービスを管理します。
MongoDBを停止するには:
sudo systemctl stop mongodb
MongoDBを起動するには:
sudo systemctl start mongodb
すでに実行されているときにMongoDBを再起動するには(たとえば、構成の変更を適用するため):
sudo systemctl restart mongodb
起動時にMongoDBが起動しないようにするには:
sudo systemctl disable mongodb
起動時に起動するようにMongoDBを設定するには:
sudo systemctl enable mongodB
MongoDBシェルの使用方法
MongoDBシェルを起動するには、次のように入力します。
mongo
Mongoシェルを終了するには、次のいずれかのキーストロークを使用します。
Ctrl-C
またはコマンド:
quit()
MongoDBをアンインストールする方法
MongoDBをアンインストールするには、次のコマンドを入力します:
sudo systemctl stop mongodb
sudo apt purge mongodb
sudo apt autoremove
MongoDB Community Edition(Complex)のインストール
MongoDB Community Editionは、MongoDBサーバーでホストされています。インストールはより困難ですが、開発者から入手できるバージョンは常に最新です。
最初のステップは、公開鍵をUbuntuサーバーにインポートすることです:
sudo wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add –
以下に示すように、システムはキーが追加されたことを確認します。
リストファイルを作成し、MongoDBリポジトリを追加します:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
パッケージデータベースを更新します:
sudo apt-get update
MongoDBをインストールします:
sudo apt-get install mongodb-org
デフォルトでは、Ubuntuのパッケージマネージャーは、リリースされたアップデートをダウンロードしてインストールします。 MongoDBのバージョンを確認すると、システムは、利用可能な最新バージョンのv4.2.1。がインストールされていることを確認します。
バージョンをロックするには、次を使用します:
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
MongoDBCommunityEditionサービスの管理
次のコマンドを使用して、MongoDBサービスを管理します。
MongoDBを停止するには:
sudo systemctl stop mongod
MongoDBを起動するには:
sudo systemctl start mongod
すでに実行されているときにMongoDBを再起動するには(たとえば、構成の変更を適用するため):
sudo systemctl restart mongod
起動時にMongoDBが起動しないようにするには:
sudo systemctl disable mongod
起動時に起動するようにMongoDBを設定するには:
sudo systemctl enable mongod
コミュニティエディションはmongodを使用します サービス名として。これは、デフォルトのリポジトリのバージョンとの大きな違いです。それ以外のコマンドは同じです。
MongoDBシェル(コミュニティエディション)の使用方法
MongoDBシェルを起動するには、次のように入力します。
mongo
Mongoシェルを終了するには、次のいずれかのキーストロークを使用します。
Ctrl-C
または、次のコマンドを入力します:
quit()
MongoDBCommunityEditionをアンインストールする
MongoDB Community Editiionをアンインストールするには、次のコマンドを入力します:
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
MongoDBのファイアウォールを構成する
MongoDBをホストしているのと同じシステムで作業している場合は、この手順をスキップできます。
MongoDBはポート27017を使用します コミュニケーションをとること。ファイアウォールでそのポートを開くことはできますが、そうすると無制限のアクセスが許可されるため、お勧めしません。
代わりに、MongoDBに接続するシステムのIPアドレスを指定し、特定のIPアドレスにのみアクセスを許可します。これを行うには、以下を使用します:
sudo ufw allow from remote_server_IP/32 to any port 27017
remote_server_IPを置き換えます 接続元のシステムの実際のIPアドレスを使用します。
次のように入力して、変更を確認します。
sudo ufw status
リストを確認してください–ポート 27017で許可されているトラフィックが表示されます。 。
mongodbを編集します 別のIPアドレスをリッスンするための構成ファイル:
sudo nano /etc/mongodb.conf
bind_ipというラベルの付いたエントリを見つけます 、およびリモートシステムのコンマとIPアドレスを追加します:
bind_ip = 127.0.0.1, remote_server_IP
#port = 27017
ファイルを保存し、上記のようにMongoDBサービスを再起動します。
基本的なMongoDBセットアップ
次のように入力して、Mongoシェルを開きます。
mongo
利用可能なすべてのデータベースのリストを表示します:
show dbs
MongoDBには、認証がオフになっています。認証をオンにし、rootユーザーとパスワードを作成することで保護できます。管理データベースに切り替えることから始めます:
use admin
次のように入力して、rootユーザーを作成します。
db.createUser({user:"root", pwd:"complex_password", roles:[{role:"root", db:"admin"}]})
Ctrl + Cキーを押して、Mongoシェルを終了します。次に、 mongodb.serviceを編集します 認証を有効にするファイル:
sudo nano /lib/system/system/mongodb.service
[サービス]セクションを見つけ、その下に ExecStart エントリ。
/ usr / bin / mongodの直後に––authを追加すると、次のようになります。
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
ファイルを保存して終了します。システムとMongoDBサービスをリロードします:
sudo systemctl daemon-reload
sudo systemctl restart mongodb
sudo systemctl status mongodb
Mongoにログインするには、ユーザーアカウントを認証する必要があります。次のように入力します:
mongo –u “root” –p ––authenticationDatabase “admin”
プロンプトが表示されたら、上記で設定したパスワードを入力します。 Mongoシェルは以前と同じように開くはずです。