无法连接到MongoDB

我刚刚安装了MongoDB(标准的Ubuntu版本,不是最新的稳定版本),由于某种原因,我无法连接:

Mon Feb 6 03:11:22 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:79 exception: connect failed 

现在我的机器不是127.xx1这是由于某种原因xxx2(但我已经改变了我的configuration绑定到该地址,并试图绑定到我的公共IP提供无用的。

configuration:

mongodb.conf

 # Where to store the data. # Note: if you run mongodb as a non-root user (recommended) you may # need to create and set permissions for this directory manually, # eg, if the parent directory isn't mutable by the mongodb user. dbpath=/var/lib/mongodb #where to log logpath=/var/log/mongodb/mongodb.log logappend=true bind_ip = 199.21.114.XX port = 27017 

我已经检查了日志,只有启动信息显示在那里。

我也检查了deamon也在运行,而且我甚至尝试用--fork手动运行它。

有没有人遇到过这个? 还是有什么build议?

谢谢

更新:

重启后 – 这里是日志:

 ** WARNING: You are running in OpenVZ. This is known to be broken!!! Tue Feb 7 19:43:32 [initandlisten] db version v1.8.2, pdfile version 4.5 Tue Feb 7 19:43:32 [initandlisten] git version: nogitversion Tue Feb 7 19:43:32 [initandlisten] build sys info: Linux allspice 2.6.24-28-se$ Tue Feb 7 19:43:32 [initandlisten] *** warning: spider monkey build without ut$ Tue Feb 7 19:43:32 [initandlisten] waiting for connections on port 27017 Tue Feb 7 19:43:32 [websvr] web admin interface listening on port 28017 

您必须通过运行mongo 199.21.114.XX来指定IP(199.21.114.XX)。

否则,如果你想要在localhost上监听,你应该删除配置文件中的bind_ip设置。

更新检查您的防火墙配置。 由于您连接到外部IP,因此可以将其配置为阻止,即使是从本地框中。

我通过在/etc/mongod.conf文件中注释掉以下行来解决了这个问题。

 # listn to local interface only. Comment out to listen on all interfaces. #bind_ip = 127.0.0.1 

您将需要按照此配置更改重新启动mongod进程。

 sudo service mongod restart 
 sudo rm /var/lib/mongodb/mongod.lock 

我只是因为这个愚蠢的错误而有同样的问题。

先删除好的mongodb文件

 rm -rf /tmp/mongodb-27017.sock 

我在/etc/mongod.conf里面弄错了

 # network interfaces net: port: 27017 #bindIp: 127.0.0.1 bindIp: privateIp 

代替

 net: port: 27017 bindIp: 10.1.2.4 

听所有可用的ips

 bindIp: [127.0.0.1,10.128.0.2] 

重启mongodb

 sudo service mongod start 

希望这个答案有助于某人

默认情况下,运行mongo console命令将在你的本地主机上查找mongodb,因此你的本地环回是127.0.0.1 IP。 而且, mongod的默认配置应该在localhost上可用。 现在就开始这样做,除非你已经开启认证。 确保你已经启用了auth,或者你的数据库在公共ip上公开运行。

当你想连接到一个非本地主机或你的默认配置的主机时,你需要:

 mongo <host> 

以下步骤可能会帮助您:

  1. 打开终端并运行“ sudo rm /var/lib/mongodb/mongod.lock
  2. 现在运行“ sudo mongod – 修复
  3. 现在“ sudo启动mongodb
  4. 现在只需检查mongodb状态“ sudo status mongodb ”的状态

5最后只是调用命令“ mongo