Errr'mongo.js:L112错误:无法连接到服务器127.0.0.1:27017 src/mongo/shell/mongo.js:L112'

use*_*275 32 linux centos mongoose mongodb

我无法连接到MongoDB.在Ubuntu它可以工作,但我现在在CentOS工作.这是错误消息:

MongoDB shell版本:2.4.2
连接到:test
Sat Apr 20 07:22:09.390 JavaScript执行失败:错误:无法连接到服务器127.0.0.1:27017 src/mongo/shell/mongo.js:L112
异常:连接失败

我尝试删除该mongod.lock文件,但它不起作用.

Sum*_*eke 78

如果您正在运行Ubuntu,则文件夹所有权存在问题.

运行以下命令:

  1. 停止MongoDB服务

    sudo service mongodb stop
    
    Run Code Online (Sandbox Code Playgroud)
  2. 删除MongoDB锁定文件

    sudo rm /var/lib/mongodb/mongod.lock
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将所有权从root更改为MongoDB路径

    sudo chown -R mongodb:mongodb /var/lib/mongodb/
    
    Run Code Online (Sandbox Code Playgroud)
  4. 启动MongoDB服务

    sudo service mongodb start
    
    Run Code Online (Sandbox Code Playgroud)
  5. 测试mongo应用程序

    mongo
    
    Run Code Online (Sandbox Code Playgroud)

然后你就能成功执行(我希望).

参考:在堆栈Exchange站点的答案数据库管理员错误:无法连接到服务器127.0.0.1:27017的src /蒙戈/壳/ mongo.js:91 MongoDB的变化数据目录的时候!

  • 这也适用于CentOS,但你应该使用`mongod`而不是`mongodb`用户名,`/ var/lib/mongo /`dir而不是`/ var/lib/mongodb /`和`sudo service*mongod*start `而不是`sudo service*mongodb*start` (3认同)

小智 34

尝试删除/var/lib/mongodb/mongod.lock并重新启动mongdo服务

sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart
Run Code Online (Sandbox Code Playgroud)


poo*_*rva 16

仅当您要修复数据文件而不保留原始文件时,此方法才有效.要查找dbpath所在的位置,请使用

vim /etc/mongodb.conf
Run Code Online (Sandbox Code Playgroud)

检查选项dbpath=.

(我有dbpath=/var/lib/mongodb.)

默认: /data/db/

典型的位置包括/srv/mongodb,/var/lib/mongodb/opt/mongodb.

更换的/ var/lib中/ MongoDB的与您的DBPATH

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --dbpath /var/lib/mongodb/ --repair
sudo mongod --dbpath /var/lib/mongodb/ --journal
Run Code Online (Sandbox Code Playgroud)

(确保让您运行已运行上述行的终端.请勿按Ctrl+ C或退出.)mongo在另一个窗口中键入命令立即启动.

我希望这对你有用!对于想要在保留原始文件的同时修复数据文件的用户,请参阅mongo恢复.

  • 谢谢!这在OSX上对我有用.我使用自制软件安装了mongodb,配置文件的路径是/usr/local/etc/mongod.conf (2认同)