[英]Why can't I start mongodb server?
我嘗試啟動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
它告訴您Address already in use for socket: 0.0.0.0:27017
。
使用mongod --port 27018
嘗試另一個端口。
要殺死在ubuntu上使用端口27017的進程,可以使用lsof -i :27017
查找該進程的PID
,然后kill -9 <PID>
。
該錯誤在這里非常清楚地顯示:
listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
這就是說套接字已經被其他東西綁定了-也就是說,端口27017上已經有另一個服務正在運行; 最有可能是您的mongo服務器實例(一次只能將一個進程綁定到一個端口)
用這個
ps aux | grep mongod
查找任何已在運行的mongod進程。 使用kill <pid>
結束該過程。
如果要啟動mongo的第二個實例,則需要將其綁定到新端口,可以使用
mongod --port 27015
請注意,如果啟動第二個實例,則還需要提供第二個數據目錄-您不應有兩個使用相同數據庫文件的正在運行的實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.