允许与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
> 
广告
将在 10 秒后关闭
bannerAds