允许与Mongodb进行外部连接
环境
CentOS6.6 可以进行如下的中文释义:CentOS6.6版本。
(参考)Ansible での Mongodb インストール
https://github.com/Chanmoro/ansible-sample/tree/master/roles/mongod
从本地以外的地方进行连接
如果继续使用默认设置,则会出现以下错误,无法远程连接到MongoDB。
$ mongo 192.168.56.101
MongoDB shell version: 3.0.2
connecting to: 192.168.56.101/test
2015-10-04T12:06:20.651+0530 W NETWORK Failed to connect to 192.168.56.101:27017, reason: errno:61 Connection refused
2015-10-04T12:06:20.653+0530 E QUERY Error: couldn't connect to server 192.168.56.101:27017 (192.168.56.101), connection attempt failed
at connect (src/mongo/shell/mongo.js:181:14)
at (connect):1:6 at src/mongo/shell/mongo.js:181
exception: connect failed
允许远程连接
默认情况下,MongoDB监听的IP地址被设置为127.0.0.1,仅允许本地访问。
mongod.conf の bind_ip に設定されたIPアドレスで listen するのでこれを変更することで外部からの接続を許可します
如果在這裡設定為0.0.0.0,將允許來自所有IP地址的連接。
# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip=0.0.0.0
也可以设置多个IP。
# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip=127.0.0.1,192.168.56.101
重新启动mongod后会生效
$ service mongod restart
設定完成後,您將能夠遠程連接。
$ mongo 192.168.56.101
MongoDB shell version: 3.0.2
connecting to: 192.168.56.101/test
>
> show dbs
local 0.078GB
>