【初心者】MongoDB compass接続

Mongo DBの勉強をしようと思ったので、メモを取るつもりでブログを作成していきます。自分がやってみて難しかった点や行き詰ったところを共有して、同じ境遇の人を助けられたらと幸いです。

実際に試した方はうまくいった、いかないなど、コメントもらえるとやる気アップしますのでよろしくお願いします。

環境

OS:CentOS release 6.10
mongo db version: v4.2.6

Compassインストール

mongodbに今まではコンソールより接続していましたが、標準でGUIで接続できるツールを提供しています。mongodbのサイトからダウンロードが可能です。

英語のサイトになりますが、自分の環境に合わせてダウンロードボタンを押したらダウンロードされます。ダウンロードしたらファイルをダブルクリックするとインストールされます。

 

f:id:dokokei:20200524212338p:plain

compass-pic1

設定ファイル修正

sudo vi /etc/mongod.conf

net:
port: 27017
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting

 

こちらが初期設定です。bindIpが127.0.0.1になっていますがこの状態だと外部からの接続ができません。そこでピンポイントで設定を追加しようとしたのですが、どうしても起動時にエラーになって先に進まない状態です。ほかの人のコメントではカンマで区切ればOKということですが、それでもダメでした。そこでIPアドレスの部分を0.0.0.0に設定することによって接続することが出来ました。またこの辺り解明出来たらアップデートします。

2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] db version v4.2.6
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] allocator: tcmalloc
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] modules: none
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] build environment:
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] distmod: rhel62
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] distarch: x86_64
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] target_arch: x86_64
2020-05-24T19:06:41.000+0900 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "124.211.188.16,127.0.0.1", port: 27019 }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid", timeZoneInfo: "/usr/share/zoneinfo" }, security: { authorization: "enabled" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2020-05-24T19:06:41.001+0900 E STORAGE [initandlisten] Failed to set up listener: SocketException: Cannot assign requested address
2020-05-24T19:06:41.001+0900 I CONTROL [initandlisten] now exiting
2020-05-24T19:06:41.001+0900 I CONTROL [initandlisten] shutting down with code:48
2020-05-24T19:07:44.150+0900 I CONTROL [main] ***** SERVER RESTARTED *****
2020-05-24T19:07:44.156+0900 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'

エラーになってサーバーが起動出来ない。

以前DBが乗っ取られてしまったので、できるだけセキュリティを高めたいと思っています。ポート番号を変更するのも有効だと思います。