无法启动mongodb本地服务器

sak*_*hig 164 mongodb

我是mongodb的新手...当我尝试使用mongod命令运行mongodb本地服务器时无法运行并抛出此错误..

/usr/lib/mongodb/mongod --help for help and startup options
Sat Jun 25 09:38:51 MongoDB starting : pid=1782 port=27017 dbpath=/data/db/ 32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations

Sat Jun 25 09:38:51 db version v1.6.3, pdfile version 4.5
Sat Jun 25 09:38:51 git version: nogitversion
Sat Jun 25 09:38:51 sys info: Linux vernadsky 2.6.24-27-server #1 SMP Fri Mar 12 01:45:06 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Sat Jun 25 09:38:51 [initandlisten] *** warning: spider monkey build without utf8 support.  consider rebuilding with utf8 support
Sat Jun 25 09:38:51 [initandlisten] waiting for connections on port 27017
Sat Jun 25 09:38:51 [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sat Jun 25 09:38:51 [initandlisten]   addr already in use
Sat Jun 25 09:38:51 [initandlisten] now exiting
Sat Jun 25 09:38:51 dbexit: 

Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close listening sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to flush oplog...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jun 25 09:38:51 [initandlisten] shutdown: closing all files...
Sat Jun 25 09:38:51     closeAllFiles() finished

Sat Jun 25 09:38:51 [initandlisten] shutdown: removing fs lock...
Sat Jun 25 09:38:51 dbexit: really exiting now
Run Code Online (Sandbox Code Playgroud)

我试过删除mongod.lock文件...我跑了mongod --repair..我也改变了mongod.lock文件的权限.

但似乎没有任何工作..它一直显示同样的错误..我该怎么办.?

我也安装了git版本1.7.4.1,但它显示错误的nogitversion ..

小智 175

尝试:

sudo service mongod stop
sudo mongod
Run Code Online (Sandbox Code Playgroud)

要停止当前活动的mongodb服务,然后允许您启动一个新的mongodb服务

  • 我如何在MacOSX中执行此操作.它保存服务不是命令 (41认同)
  • `sudo service mongodb stop`在Ubuntu 14.10上为我工作. (5认同)
  • 这不应该是mongod(不是mongodb)吗?基于http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/#stop-mongodb (2认同)

小智 148

不要使用-9信号杀死进程,因为它会造成损害:http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo#StartingandStoppingMongo-SendingaUnixINTorTERMsignal

sudo killall -15 mongod改用

  • `killall mongod`也做同样的事情.`-15`告诉`killall`发送SIGTERM信号,它默认发出. (8认同)
  • 实际上做一个killall实际上对我有用,而不是试图停止服务。所以,即使它没有回答问题。那很有用 (4认同)
  • 这不能回答原始问题。 (2认同)

小智 57

Andreas Jung:

"Sat Jun 25 09:38:51 [initandlisten] listen():bind()失败错误:98地址已经用于套接字:0.0.0.0:27017

是自言自语的.

mongod的另一个实例已经在运行并分配MongoDB默认端口27017.

杀死其他进程或使用其他端口."

在这种情况下,键入以下命令

ps wuax | grep mongo
Run Code Online (Sandbox Code Playgroud)

你应该看到这样的东西

User           31936   0.5 0.4 2719784 35624   ?? S     7:34pm   0:09.98 mongod
User           31945   0.0 0.0 2423368   184 s000 R+   8:24pm   0:00.00 grep mongo
Run Code Online (Sandbox Code Playgroud)

现在输入mongod实例的kill命令(本例中为31936):

kill 31936
Run Code Online (Sandbox Code Playgroud)


小智 29

星期六6月25日09:38:51 [initandlisten] listen():bind()失败错误:98地址已经用于套接字:0.0.0.0:27017

是自言自语的.

mongod的另一个实例已经在运行并分配MongoDB默认端口27017.

杀死其他进程或使用其他端口.

  • 在入门页面上找到这个...**当安装mongodb****时**通过aptitude它已经在运行(所以在示例中你不需要****).然后输入:$ mongo**..因为我亲自启动mongod并且我正在关注快速启动教程..我知道它已经在运行... (47认同)

小智 28

从netstat了解哪个进程正在运行mongodb port(27017)

命令:

sudo netstat -tulpn | grep :27017
Run Code Online (Sandbox Code Playgroud)

输出将是:

tcp        0      0 0.0.0.0:27017           0.0.0.0:* 
LISTEN      6432/mongod
Run Code Online (Sandbox Code Playgroud)

在我的情况下,"6432"是pid,在您的情况下可能会有所不同.然后使用以下命令终止该进程:

sudo kill <pid>
Run Code Online (Sandbox Code Playgroud)

而已!


小智 25

使用:

sudo killall mongod
Run Code Online (Sandbox Code Playgroud)

它会停止服务器.

然后重启mongod:

sudo service mongod restart
Run Code Online (Sandbox Code Playgroud)

它应该工作.


小智 23

您已经有一个进程在运行.你可以用命令杀死它:

killall mongod
Run Code Online (Sandbox Code Playgroud)


Joh*_*ips 15

你想做,killall -15 mongod因为它仍在运行:Address already in use for socket: 0.0.0.0:27017.

然后你可以mongod再次运行.


小智 7

如果找不到任何当前正在运行的进程或者杀死它们不起作用,请尝试使用其他端口.例如,尝试27018,因为默认值为27017.

mongod  --port 27018
Run Code Online (Sandbox Code Playgroud)

我用命令找到了这个, mongod --help


Nic*_*vas 7

我建议使用:

$sudo service mongodb stop

那可能有用.


SU1*_*U15 6

尝试killall -15 mongod/killall mongod即使在此之后如果这不起作用,则通过键入以下命令删除db storage文件夹sudo rm -rf/data/db sudo mkdir/data/db sudo chmod 777/data/db


小智 5

OSX。 活动监视器,查找mongod,将其交叉。然后再次运行mongod。问题解决了。