MeteorJSのMongoDBポートが分からずDBのGUIツールの設定に躓いた話
タイトル通りです。
普段の仕事ではMySQLクライアントのSequel Proを使っているのですが、同じ感じでRobo 3T(旧 Robomongo)を使いたいなと思ったわけです。
しかしこれまで自分で一から環境を作ったことなんてなく、会社の先輩にやってもらった or マニュアル通りの設定で業務をこなしていたので、いざとなるとRobo 3TをどうやってローカルのmongoDBに接続すれば良いのか分からず笑
調べたら別になんてことはなかったのですが、一応困る人もいるかもなのでこちらに書いときます。
検索するにあたって、「コレ知ってたらもっと早く答えにたどり着いたな」って情報から書いていきます。
- そもそもクライアントとかGUIとか何なの
- DBクライアント、DB GUIって例えばどんなのがあるの
- そもそもローカルのDBに接続するには何の情報があれば良いのか
- MeteorのMongoが使ってるポート番号は結局なんなの
- 参考
そもそもクライアントとかGUIとか何なの
少なくともデータベースの文脈でクライアント(Client)とかGUIとかの単語が出てきた場合、それは「データベースを人に分かりやすい形で表示してくれるツール」のことを表しています。
この記事にたどり着いた方なら、すくなくともコマンドライン・ターミナルでローカルのDBをいじったことはあるのでは無いでしょうか。
慣れてる人ならそうでもないのかもしれないですが、やっぱコマンドラインからいろいろやるのはめんどくさいです。
なので、 こんなかんじでデータベースを一覧表示してくれたり、画面から直接データベースの内容をいじれたりするとすごく幸せなわけです。
DBクライアント、DB GUIって例えばどんなのがあるの
RDBMS
MySQL
MySQL Workbench
phpMyAdmin
Sequel Pro
HeidiSQL
HeidiSQL - MySQL, MSSQL and PostgreSQL made easy
PostgreSQL
postico
Postico – a modern PostgreSQL client for the Mac
pgAdmin
psequel
PSequel, a PostgreSQL GUI Tool for macOS
SQLite
DB Browser for SQLite
Base 2
NoSQL
MongoDB
Robo 3T
Robo 3T - formerly Robomongo — native MongoDB management tool (Admin UI)
MongoDB Compass
mongo-express
Redis
FastoRedis
Keylord
Keylord - GUI manager for Redis, Memcached and LevelDB key-value databases
Medis
そもそもローカルのDBに接続するには何の情報があれば良いのか
これ知らないとググりようが無いんですよね。 今回の場合だと、僕はMeteorで使ってるMongoDBの「ポート番号」が分からなくて困っていたんですが、ぱっとその名前が出てこなかった。 これが敗因です。
さておき、基本的にローカルホストのDBに接続する際には、ホストとポート番号だけ分かっていれば良いはずです。
ホスト
データベースが格納されているコンピュータです。 今回のケースで言うと、開発中のアプリケーションのデータベースなので、ホストは自分のパソコンです。 なのでホストは「ローカルホスト」ですね。
ただ、実稼働しているアプリケーションに関しては殆どの場合AWSやさくらインターネットなどにデータベースを置いているのではないでしょうか。
その場合は、各データベースを置いてあるコンピュータのホスト名を入力する必要があります。
基本的にはホスト名はIPアドレス、もしくはドメイン名を指定します。
IPアドレスとは「183.79.135.206」のような文字列です。 ドメイン名とは「www.yahoo.co.jp」のような文字列です。
ドメイン名はIPアドレスを人間に分かりやすい言葉で表したものなので、見た目は違えど両者は同値です。
ためしに上記のIPアドレスとドメイン名をそれぞれブラウザのアドレスバーに入れてみて下さい。
ポート番号
ポート番号とは、ホストであるコンピュータが特定のデータをやり取りする際や特定のプログラムを動かす際に、その動作(プロセスといいます)に対して割り振っている番号のことです。
「このコンピュータのこの番号のプロセスを見ればデータベースの情報が取得できるよ」という感じです。
今回は、ローカルホストなのは分かっていても、MeteorのMongoDBがその中でどのポート番号を利用しているのかが分からなかったため困っていた、というわけです。
MeteorのMongoが使ってるポート番号は結局なんなの
やっと本題に入れました笑
目的のポート番号はおそらく人によって異なりますが、確認の方法はあります。
まずはターミナルで、開発中のmeteorプロジェクトのディレクトリに移動して、meteorを立ち上げましょう。
meteor run
そうしたら、新しいターミナルのウィンドウを立ち上げて、そちらでも同じプロジェクトのディレクトリに移動し、下記のコマンドを打ちましょう。
meteor mongo
すると、下記のような情報が表示されるかと思います。
MongoDB shell version: 3.2.15 connecting to: 127.0.0.1:3001/meteor meteor:PRIMARY>
この「connecting to」の部分が、ローカルのmongoDBが接続している先ですね!
127.0.0.1がローカルホストのIPアドレス、3001がローカルのポート番号です。
僕の場合は3001で動いていますが、これは人によって違うようなので、必ずご自分で確認して下さい。
なお、Meteorのドキュメントを読む限りでは、meteorそのものが使用しているポート番号 + 1がmongoDBに割り振られるようです。
ちなみに、meteor mongo
コマンドについてはMeteorのコマンドガイドに記載がありました。わかんねーよ笑
今回はこれまでです。
基礎知識無いとググるのも一苦労ですね。