问题描述
当我在ubuntu中安装mongodb时,我尝试:./mongo显示此错误:
couldn't connect to server 127.0.0.1 shell/mongo.js
那我该怎么办,
谢谢
最佳解决方法
-
手动删除锁定文件:
sudo rm /var/lib/mongodb/mongod.lock
-
运行修复脚本:
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
请注意以下事项:
-
您必须以mongodb用户身份运行此命令。如果您以root身份运行,则root将在/var /lib /mongodb /中拥有运行mongodb守护程序所必需的文件,因此,当该守护程序尝试以mongodb用户身份稍后运行时,它将没有启动权限。 。在这种情况下,您会收到以下错误消息:无法为lockfilepath创建/打开锁定文件:/var/lib/mongodb/mongod.lock errno:13权限被拒绝,正在终止。
-
在Ubuntu上,必须使用-f标志指定配置文件/etc/mongodb.conf。否则,它将在错误的位置查找数据文件,并且您将看到以下错误:dbpath(/data /db /)不存在,正在终止。
次佳解决方法
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
有时,执行这些操作后,有时需要花费一些时间才能启动mongo。
第三种解决方法
尝试运行$ mongod
如果出现en错误,例如
MongoDB shell version: 2.0.5
connecting to: test
Fri Jun 1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed
hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun 1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun 1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun 1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun 1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun 1 11:24:47 [initandlisten] options: {}
Fri Jun 1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun 1 11:24:47 dbexit:
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun 1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun 1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun 1 11:24:47 dbexit: really exiting now
然后,您遇到了一个非常常见的基本启动错误。
默认情况下,mongod将尝试使用/data /db作为其数据库文件,在这种情况下,该文件不存在。
你不能开始
mongo
直到你处理
mongod.
尝试创建这些目录,并确保它们可由运行mongod进程的同一用户写入。
第四种方法
这实际上不是一个错误。。。这里发生的是Mongo依靠守护程序来运行本地数据库服务器,因此为了”fire up”您 shell 中的mongo服务器,您必须首先启动mongo服务。
对于Fedora Linux(我使用的是Distro),您必须运行以下命令:
1 sudo service mongod start
2 mongo
在那里,您拥有了!服务器将要运行。现在,如果您希望在系统启动时启动Mongo服务,则必须运行:
sudo chkconfig --levels 235 mongod on
就这样!如果这样做,现在只需在 shell 程序中键入mongo即可启动服务器,但这已经足够了,问题在于您必须先启动SERVICE,然后再启动SERVER 🙂
附言我发布的命令可能也可以在其他linux发行版上使用,而不仅仅是在fedora中…如果不是,您可能不必根据所使用的发行版来调整一些单词;)
第五种方法
尝试安装mongo时遇到相同的问题。我有错误,
错误
"Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84"
解:
首先使用以下命令安装mongod:
sudo apt-get install mongodb-server
然后输入
mongod --dbpath /mongo/db
然后
sudo rm /var/lib/mongodb/mongod.lock
然后
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
谢谢
第六种方法
您需要删除ubuntu上的锁定文件mongod.lock
或/var/lib/mongodb/mongod.lock
,然后首先需要在ubuntu上运行mongod.exe
或service mongodb start
,然后在on上运行mongo.exe
或mongo
。
第七种方法
您的mongod不在运行(使用”ps”命令检查),或者正在侦听某个外部IP地址,而不是在本地主机上侦听。因此,首先检查进程列表,看看’mongod’是否正在运行。如果是,请使用“ netstat -nap”检查相关端口。
当然,您可以在控制台上手动启动mongod,甚至查看mongod日志文件(如果已配置一个…取决于您安装mongod的方式)。
第八种方法
首先,您必须确保/var /lib /mongodb /文件夹(或dbpath指向的文件夹)中的所有文件和目录都属于mongodb用户和mongodb组。
cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory
(用各自的名称替换文件名和目录)
然后,您可以像其他人已经提到的那样,删除锁,修复数据库并重新启动守护程序:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
第九种方法
首先通过以下方式启动mongo服务器
Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log
然后打开另一个终端窗口并打开 shell
Users-MacBook-Pro:csv1 Admin$ mongo
第十种方法
还要检查您的根分区是否有足够的空间来启动mongod。
df -h /
您会在mongod发布时看到类似的内容:
Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit:
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...