2

I've installed mongodb in Debian Squeeze using this guide (guide here) Installed successfully.

It was running well until I restarted the machine (using command "reboot");

After restart, mongodb is not able to initiate correctly.

Log file (/var/log/mongodb/mongod.log):

(...)
2014-07-03T16:43:45.350+0000 [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb" }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2014-07-03T16:43:45.423+0000 [initandlisten] ERROR: listen(): bind() failed errno:99 Cannot assign requested address for socket: 127.0.0.1:27017
2014-07-03T16:43:45.445+0000 [initandlisten] now exiting
2014-07-03T16:43:45.445+0000 [initandlisten] dbexit:
(...)

I've tried this but It didn't help.

Also tried

/etc/init.d/mongod stop/start/restart

And got:

root@Whatever:~# /etc/init.d/mongod stop
Stopping database: mongod apparently not running.
root@Whatever:~# /etc/init.d/mongod start
Starting database: mongod failed!
root@Whatever:~# /etc/init.d/mongod restart
Restarting database: mongod failed!

EDIT: /etc/mongo.conf:

# mongod.conf

# Where to store the data.

# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongod.log

logappend=true

#port = 27017

# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip = 127.0.0.1

# Disables write-ahead journaling
# nojournal = true

# Enables periodic logging of CPU utilization and I/O wait
#cpu = true

# Turn on/off security.  Off is currently the default
#noauth = true
#auth = true

# Verbose logging output.
#verbose = true

# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true

# Enable db quota management
#quota = true

# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#diaglog = 0

# Ignore query hints
#nohints = true

# Disable the HTTP interface (Defaults to localhost:28017).
#nohttpinterface = true

# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true

# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true

# Disable data file preallocation.
#noprealloc = true

# Specify .ns file size for new databases.
# nssize = <size>

# Replication Options

# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#keyFile=/path/to/keyfile
Bruno Camarneiro
  • 123
  • 1
  • 1
  • 4
  • 1
    What does this show you: `netstat -lnptu | grep 27017` – Wesley Jul 03 '14 at 16:08
  • Also, look for relevant messages in `/var/log/messages` concerning port 27017 or socket assignment failure - I suspect something is already running on that port. What happens when you simply run `mongo`? – Wesley Jul 03 '14 at 16:10
  • Nothing.. It looks like nothing is running on that port.. (Regarding netstat command); In /var/log/messages there is nothing related to '27017' and no 'fail's or 'socket' words; Running mongo results in couldn't connect to server 127.0.0.1:27017, connection attempt failed at src/mongo/shell/mongo.js:146 – Bruno Camarneiro Jul 03 '14 at 16:11
  • Just to be thorough, can you include your `/etc/mongod.conf` file? – Wesley Jul 03 '14 at 16:51
  • Comment bombing! Can you ping 127.0.0.1? What does `ip addr` show? – Wesley Jul 03 '14 at 16:52
  • 1
    WOW.. Those were wise words... My network interface was down... No more wine today. Can you post that as an answer so I can accept it? Thanks! – Bruno Camarneiro Jul 03 '14 at 16:59

2 Answers2

3

Check to see if your network interface is up. With a binding error like that you have two major options:

  1. Something is already listening on that port. (Not the case for you)
  2. You don't have the declared IP address available. (In your case I don't think 127.0.0.1 is up)
Wesley
  • 32,690
  • 9
  • 82
  • 117
0
sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair
sudo service mongod start
sudo service mongod status
Sapna Bhayal
  • 101
  • 2
  • please try to add what the commands do and explain why you think this helps the user, which most likely did not as there was another error message. The lockfile most likely got removed by the reboot already. – Dennis Nolte Jan 17 '19 at 17:13