データ管理について話すとき、ほとんどの人はすぐにMySQLについて考えます。ただし、存在するデータ管理システムはこれだけではありません。 LinuxベースのVPSには、PostgreSQL、SQLite、Oracle、MariaDBなどの強力なデータ管理システムがたくさんあります。
これらのマネージャーは、リレーショナルデータベースであることに加えて、SQL言語を使用します。ただし、機能が高く、歩留まりが高いNoSQLデータベースマネージャーは他にもあります。
最も人気のあるものの1つはMongoDBです。この記事では、Ubuntu18.04にMongoDBをインストールする方法についてのステップバイステップのチュートリアルを提供します。
MongoDBとは
MongoDBは、最も人気があり、最もよく知られているNoSQLデータベースマネージャーの1つです。主に、BSONなどのフォーマットされたドキュメントにデータを保存できるアプリケーションに使用されます。
これは、SQLタイプなどのレコードにデータを保存する代わりに、ドキュメントにデータを保存することを意味します。
NoSQLタイプのデータベースでは、ドキュメントにスキーマが定義されていません。これによりデータベースが乱雑になるのではないかと心配するかもしれませんが、実際にはまったく逆です。このようなシステムでは、「フィールド」とデータが簡素化されるため、管理と保存がより簡単になります。
これに加えて、MongoDBは大規模なスケーラビリティが存在する環境で人気があります。 MongoDBを使用すると、データのスケーラビリティを可能にするレプリケーション手法をすばやく実行できます。したがって、半構造化データの保存が必要なアプリケーションはすべて、MongoDBを使用できます。
Ubuntu18.04にMongoDBをインストールします
MongoDBはよく知られているアプリケーションですが、公式のUbuntuリポジトリにはないため、手動で追加する必要があります。ただし、これはインストールとアプリケーションの更新を容易にするため、大きな利点です。まず、SSHを使用してサーバーに接続する必要があります:
ssh your-user@your-server
Ubuntu 18.04を使用している場合は、ターミナルを開き、MongoDBリポジトリからPGPキーを追加して、ダウンロードしたパッケージが危険にさらされないようにします。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
その後、問題なくMongoDBリポジトリを追加できます。これを行うには、次のコマンドを実行します:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
次に、 APTを更新します すべてのリポジトリを同期するコマンド。
sudo apt update
次に、APTを使用してMongoDBをインストールします:
sudo apt-get install -y mongodb
sudo apt install mongodb-org
インストールの最後に、MongoDBサービスを有効にして開始します。これで、使い始めることができます。
sudo systemctl enable mongodb
sudo systemctl start mongodb
最後に、サービスの状態を確認します。
sudo systemctl status mongodb
これで、UbuntuにMongoDBをインストールする方法がわかり、使用できるようになりました。
MongoDB入門
それでは、MongoDBの基本をいくつか学びましょう!
MongoDBには、adminと呼ばれる単一のデータベースが付属しています。優れたワークフローを確保するには、プロジェクト用にさらに作成する必要があります。これを行うには、まず、MongoDBコンソールに移動します:
mongo
内部に入ると、コマンドuseを使用してデータベースを作成できます。 SQL言語とは異なり、コマンドや「データベースの作成」句はなく、使用するだけであることに注意してください。データベースが存在する場合はそれを使用できます。存在しない場合は、コマンドによってデータベースが作成されます。
use [database_name]
そのように簡単です。
デフォルトでは、MongoDBにはデフォルトの管理者アカウントは含まれていません。代わりに、データベースごとに異なるユーザーの作成を開始してください。ただし、各データベースに特定の権限を持つユーザーを作成する必要があります。
MongoDBコンソールに入ると、そのインターフェースが提供するヘルプにアクセスできます。
help
このセクションでは、関数 db.createUser()を確認できます。 。その中で、名前、パスワード、データベース、および役割を指定します。
db.createUser 関数は、MongoDBの他のすべてと同様に、JSONでパラメーターを受け取ります。したがって、新しく作成されたデータベースの新しいユーザーを作成するには、次のコマンドを実行します。
db.createUser( { user: "edward", pwd: "edward123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
dbAdminなどの役割にはいくつかの種類があります 、 dbUser 、読む その他。したがって、MongoDBの公式ドキュメントにアクセスして、それぞれの場合に最も便利なものを判断することをお勧めします。
これで、次のコマンドを使用して、これまでに作成されたすべてのユーザーを表示できます。
show users
操作をテストするには、exitを使用してMongoDBコンソールを終了し、次のコマンドを実行します。
exit
mongo -u [user] -p [password] [host:port]/[database]
ホストとポートへのMongoDB接続については、次のセクションで説明します。
MongoDBでリモート認証を有効にする
デフォルトでは、MongoDBはローカルマシンからのすべてのログを承認します。アプリケーションの開発中は問題ありません。
ただし、認証を有効にする必要があるため、アプリケーションの準備ができてデプロイする必要があるときに問題が発生する可能性があります。
問題を回避するには、ファイル /etc/mongodb.confを開きます bindIP:という行にコメントします 127.0.0.1。
sudo nano /etc/mongodb.conf
次に、サービスを再起動します。同じファイルでMongoDBのデフォルトポートを変更できます。
sudo systemctl restart mongodb
これで、MongoDBで認証なしでログインできるのはローカルユーザーのみになります。サーバーが危険にさらされた場合、またはセキュリティをさらに強化したい場合は、いつでもそれを根絶することができます。
さまざまなデータニーズを持つさまざまなアプリケーションがあります。そのため、MongoDBのようなNoSQLの代替手段が生まれます。
MongoDBは、その堅牢性、速度、およびスケーラビリティのために存在する最も重要なデータベースマネージャーの1つです。
この記事では、Ubuntu 18.04にMongoDBをインストールし、データベースマネージャーを使用して最初のステップを実行する方法を学習しました。