SocketException: Address already in use MONGODB

前端 未结 11 1146
隐瞒了意图╮
隐瞒了意图╮ 2020-12-07 08:42

i found this error when trying to run mongodb. I install it via homebrew. Please assist

Agungs-MacBook-Pro:~ agungmahaputra$ mongod
2017-12-26T15:31:15.911+0         


        
相关标签:
11条回答
  • 2020-12-07 08:59

    You already have a process running in the port 27017 which is used by mongodb. So either you need to stop the process in that port or try with different port number.

    Try mongod --port 27018

    You can change the port number of your choice.

    EDIT:

    You can also just stop all the running instances of mongo server using sudo killall mongod as mentioned by @Dassi Orleando in the comments. And run mongod

    0 讨论(0)
  • 2020-12-07 09:01

    Make Sure the error is of the port , if using macos catalina there is a reported issue for ~/data/db which also causes this.

    0 讨论(0)
  • 2020-12-07 09:02

    Just this single command

    sudo pkill -f mongod

    0 讨论(0)
  • 2020-12-07 09:06

    Summary other(@Tony Roczz, @Balasubramani M) answer to here:

    Root Cause

    error: Failed to set up listener: SocketException: Address already in use

    means:

    • previously have run mongodb
      • probably use default port 27017

    Solution

    (most case) kill and restart mongod

    kill mongod

    two method:

    • use killall
      • killall mongod
    • kill by PID
      • find mongod PID
        • method 1: ps aux | grep mongod
        • output can see like this: limao 425 ... /usr/local/opt/mongodb-community/bin/mongod --config /usr/local/etc/mongod.conf
        • method 2: lsof -iTCP -sTCP:LISTEN -n -P
        • output can see like this: mongod 425 limao .. TCP 127.0.0.1:27017 (LISTEN)
      • kill by PID: kill -9 425

    re-start mongod

    • most case: mongod
    • some special case
      • brew services start mongodb-community
        • for install community version in Mac by: brew install mongodb-community

    (for some people) run with another port

    • run with another port: mongod --port 27018
      • only for those want to run multiple mongod server same time

    Additional Note

    which port the running mongodb is using?

     lsof -iTCP -sTCP:LISTEN -n -P
    COMMAND     PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
    mongod      425 limao   10u  IPv4 0xab744305e75263cf      0t0  TCP 127.0.0.1:27017 (LISTEN)
    

    can see 27017 is current running mongodb port.

    how to check / make sure mongod is running

    • check mongod status:
      • ps aux | grep mongod
        • output can see mongod service
      • brew services list
        • if installed by brew and start by brew
    0 讨论(0)
  • 2020-12-07 09:08

    This may sound obvious but you should check if mongodb is already running. So instead of first starting the the DB by running:

    sudo mongod
    

    Try directly running:

    mongo
    
    0 讨论(0)
  • 2020-12-07 09:14

    You can kill the previous mongod instance and start the new one.

    To kill the previous mongod instance, first search for a list of tasks running on your machine by typing,

    sudo lsof -iTCP -sTCP:LISTEN -n -P
    

    Search for mongod COMMAND and its PID and type,

    sudo kill <mongo_command_pid>
    

    Now start your mongod instance by typing,

    mongod
    

    You can see MongoDB running successfully.

    0 讨论(0)
提交回复
热议问题