GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にMongoDBをインストールして使用する方法

MongoDBは、C++で記述されたオープンソースのクロスプラットフォームのドキュメント指向データベースシステムです。 JSONのような柔軟なドキュメントのコレクションにデータを保存し、強力なWebサイトやアプリケーションを作成するために使用されます。スケーラビリティと高性能により、強力でミッションクリティカルな高可用性データベースを必要とする最新のアプリケーションの構築に使用されます。

このチュートリアルでは、Ubuntu20.04サーバーにMongoDBデータベースシステムをインストールして使用する方法を説明します。

前提条件
  • Ubuntu20.04を実行しているサーバー。
  • ルートパスワードはサーバーで構成されています。

MongoDBをインストールする

デフォルトでは、MongoDBの最新バージョンはUbuntu20.04のデフォルトリポジトリでは利用できません。そのため、システムに公式のMongoDBリポジトリを追加する必要があります。

まず、次のコマンドを使用してGnupgパッケージをインストールします。

apt-get install gnupg -y

次に、次のコマンドを使用してMongoDBGPGキーをダウンロードして追加します。

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -

次に、次のコマンドを使用してMongoDBリポジトリを追加します。

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list

次に、リポジトリを更新し、次のコマンドを使用してMongoDBをインストールします。

apt-get update -y
apt-get install mongodb-org -y

インストールが完了したら、MongoDBサービスを開始し、次のコマンドを使用して再起動時に開始できるようにします。

systemctl start mongod
systemctl enable mongod

次のコマンドを使用して、MongoDBサービスのステータスを確認できるようになりました。

systemctl status mongod

次の出力が得られるはずです:

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 106996 (mongod)
     Memory: 76.0M
     CGroup: /system.slice/mongod.service
             ??106996 /usr/bin/mongod --config /etc/mongod.conf

May 15 05:30:39 ubuntu2004 systemd[1]: Started MongoDB Database Server.
May 15 05:30:48 ubuntu2004 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd>
lines 1-11/11 (END)

次のコマンドを使用して、MongoDBのバージョンとサーバーアドレスを確認することもできます。

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

次の出力が得られるはずです:

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") }
MongoDB server version: 4.2.6
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1  
}
MongoDBを構成する

MongoDBのデフォルト設定ファイルは/etc/mongod.confにあります。デフォルトでは、各ユーザーはすべてのデータベースにアクセスし、任意のアクションを実行できます。実稼働環境では、MongoDB認証を有効にすることをお勧めします。

ファイル/etc/mongod.confを編集することでそれを行うことができます:

nano /etc/mongod.conf

次の行を追加します:

security:
  authorization: enabled

ファイルを保存して閉じてから、MongoDBサービスを再起動して、変更を適用します。

systemctl restart mongod

MongoDB管理者ユーザーを作成

MongoDB認証を有効にした後、MongoDBデータベースにアクセスして管理するための管理者ユーザーを作成する必要があります。

まず、次のコマンドを使用してMongoDBコンソールにアクセスします。

mongo

次の出力が表示されます。

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") }
MongoDB server version: 4.2.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user
をお試しください

次に、次のコマンドを使用して管理データベースに接続します。

> use admin

次の出力が表示されます。

switched to db admin

次に、新しい管理者ユーザーを作成し、次のコマンドでパスワードを設定します。

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

次の出力が得られるはずです:

Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

次に、次のコマンドを使用してMongoDBコンソールを終了します。

> quit()

MongoDB認証を確認する

この時点で、MongoDBは認証を使用して構成されています。

次に、前に作成したユーザーを使用してMongoDBに接続してみます。

mongo -u admin -p --authenticationDatabase admin

以下に示すように、パスワードの入力を求められます。

MongoDB shell version v4.2.6
Enter password: 

管理者パスワードを入力し、Enterキーを押します。次の出力が表示されます。

connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") }
MongoDB server version: 4.2.6

次に、次のコマンドを使用してデータベースをadminに変更します。

> use admin

次の出力が表示されます。

switched to db admin

次に、次のコマンドを使用してユーザーを一覧表示します。

> show users

次の出力が得られるはずです:

{
	"_id" : "admin.admin",
	"userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"),
	"user" : "admin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}
> 
結論

上記のガイドでは、Ubuntu20.04サーバーにMongoDBをインストールして構成する方法を学習しました。詳細については、MongoDocのMongoDBドキュメントにアクセスしてください。


Ubuntu
  1. Ubuntu20.04にElasticsearchをインストールして使用する方法

  2. Ubuntu20.04にPowerShellをインストールして使用する方法

  3. Ubuntu20.04およびCentOS8にMongoDBをインストールする方法

  1. Ubuntu20.04にWineをインストールして使用する方法

  2. Ubuntu18.04にFFmpegをインストールして使用する方法

  3. Ubuntu20.04にMongoDBをインストールする方法

  1. Ubuntu18.04にWineをインストールして使用する方法

  2. Ubuntu18.04にCurlをインストールして使用する方法

  3. Ubuntu20.04にCurlをインストールして使用する方法