为什么我不能启动mongodb服务器?

为什么我不能启动mongodb服务器?,mongodb,Mongodb,我试图启动mongodb服务器,但它立即存在。是因为它试图使用已在使用的端口吗?我该如何正确运行它?谢谢 我在Ubuntu 14.04上,按照mongodb网站上的指南安装了mongodb $ mongod 2016-08-04T11:06:39.947-0400 I CONTROL [initandlisten] MongoDB starting : pid=15947 port=27017 dbpath=/data/db 64-bit host=ocean 2016-08-04T11:06

我试图启动mongodb服务器,但它立即存在。是因为它试图使用已在使用的端口吗?我该如何正确运行它?谢谢

我在Ubuntu 14.04上,按照mongodb网站上的指南安装了mongodb

$ mongod
2016-08-04T11:06:39.947-0400 I CONTROL  [initandlisten] MongoDB starting : pid=15947 port=27017 dbpath=/data/db 64-bit host=ocean
2016-08-04T11:06:39.947-0400 I CONTROL  [initandlisten] db version v3.2.8
2016-08-04T11:06:39.951-0400 I CONTROL  [initandlisten] git version: ed70e33130c977bda0024c125b56d159573dbaf0
2016-08-04T11:06:39.952-0400 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-08-04T11:06:39.952-0400 I CONTROL  [initandlisten] allocator: tcmalloc
2016-08-04T11:06:39.952-0400 I CONTROL  [initandlisten] modules: none
2016-08-04T11:06:39.952-0400 I CONTROL  [initandlisten] build environment:
2016-08-04T11:06:39.952-0400 I CONTROL  [initandlisten]     distmod: ubuntu1404
2016-08-04T11:06:39.952-0400 I CONTROL  [initandlisten]     distarch: x86_64
2016-08-04T11:06:39.953-0400 I CONTROL  [initandlisten]     target_arch: x86_64
2016-08-04T11:06:39.953-0400 I CONTROL  [initandlisten] options: {}
2016-08-04T11:06:40.015-0400 E NETWORK  [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
2016-08-04T11:06:40.016-0400 E NETWORK  [initandlisten]   addr already in use
2016-08-04T11:06:40.016-0400 E STORAGE  [initandlisten] Failed to set up sockets during startup.
2016-08-04T11:06:40.016-0400 I CONTROL  [initandlisten] dbexit:  rc: 48

这里非常清楚地显示了错误:

listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
这意味着套接字已经被其他东西绑定了——也就是说,端口27017上已经有另一个服务在运行;最可能的情况是,mongo服务器的一个实例一次只能有一个进程绑定到一个端口

用这个

ps aux | grep mongod
查找任何已在运行的mongod进程。使用kill结束进程

如果要启动第二个mongo实例,则需要将其绑定到新端口,可以使用

mongod --port 27015

请注意,如果启动第二个实例,还需要提供第二个数据目录-不应该有两个运行中的实例使用相同的数据库文件。

此处非常清楚地显示了错误:

listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
这意味着套接字已经被其他东西绑定了——也就是说,端口27017上已经有另一个服务在运行;最可能的情况是,mongo服务器的一个实例一次只能有一个进程绑定到一个端口

用这个

ps aux | grep mongod
查找任何已在运行的mongod进程。使用kill结束进程

如果要启动第二个mongo实例,则需要将其绑定到新端口,可以使用

mongod --port 27015
请注意,如果启动第二个实例,还需要提供第二个数据目录-不应该有两个正在运行的实例使用相同的数据库文件。

它告诉您套接字已使用的地址:0.0.0.0:27017

使用mongod尝试另一个端口-端口27018

要杀死在ubuntu上使用端口27017的进程,您可以使用lsof-i:27017找到该进程的PID,然后杀死-9。

它告诉您套接字已使用的地址:0.0.0.0:27017

使用mongod尝试另一个端口-端口27018

要杀死ubuntu上使用端口27017的进程,可以使用lsof-i:27017找到该进程的PID,然后杀死-9