在Ubuntu 14.04 LTS上重新启动系统后,MongoDB无法启动

在Ubuntu 14.04 LTS上重新启动系统后,MongoDB无法启动,mongodb,ubuntu,Mongodb,Ubuntu,根据官方安装指南,我已经在ubuntu 14.04上安装了mongoDB: 我使用“mongod”进入终端,一切正常 但当我关闭ubuntu并重新启动它时,“mongod”命令无法启动,下面发生了一个错误: 2015-01-30T15:47:51.582-0800 [initandlisten] allocator: tcmalloc 2015-01-30T15:47:51.582-0800 [initandlisten] options: {} 2015-01-30T15:47:51.583-

根据官方安装指南,我已经在ubuntu 14.04上安装了mongoDB:

我使用“mongod”进入终端,一切正常

但当我关闭ubuntu并重新启动它时,“mongod”命令无法启动,下面发生了一个错误:

2015-01-30T15:47:51.582-0800 [initandlisten] allocator: tcmalloc
2015-01-30T15:47:51.582-0800 [initandlisten] options: {}
2015-01-30T15:47:51.583-0800 [initandlisten] exception in initAndListen: 10296 
*********************************************************************
 ERROR: dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
之后,我尝试创建文件夹并使用以下方法对其进行chmod:

sudo mkdir -p /data/db/
sudo chown `id -u` /data/db
但另一个错误发生了:

2015-01-30T16:01:43.855-0800 [initandlisten] allocator: tcmalloc
2015-01-30T16:01:43.855-0800 [initandlisten] options: {}
2015-01-30T16:01:43.859-0800 [initandlisten] journal dir=/data/db/journal
2015-01-30T16:01:43.859-0800 [initandlisten] recover : no journal files present, no recovery needed
2015-01-30T16:01:43.994-0800 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
2015-01-30T16:01:43.994-0800 [initandlisten] ERROR: addr already in use
2015-01-30T16:01:43.994-0800 [initandlisten] allocating new ns file /data/db/local.ns, filling with zeroes...
2015-01-30T16:01:44.197-0800 [FileAllocator] allocating new datafile /data/db/local.0, filling with zeroes...
我还查找了/etc/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
我发现默认的数据存储文件夹不是/data/db

我试过其他方法,比如

sudo service mongod stop
sudo service mongod restart
但它们根本不起作用


当系统启动时,可能已经有另一个实例运行,但如何停止它?

错误:addr已在使用
确实意味着您已经有另一个实例运行

您是否尝试:

  • 在终端中键入
    mongo
    ,查看它是否连接到服务器
  • 检查
    /var/log/mongodb/mongod.log中的日志
    ?他们有没有告诉你一个实例出现了
  • 键入
    ps-edf | grep mongod
    并查看是否有任何进程正在运行?我想这不是一个好的做法,但是如果有人出现,你是否尝试过杀死它,然后再次键入
    mongod
Aynway,您可能想尝试两件事:

  • 当您键入
    sudo service mongod stop
    并且在
    sudo service mongod重新启动之前,请尝试在终端中键入
    mongod
    。当您通常停止运行实例时,您应该能够启动自己的实例
  • 您可以尝试启动另一个实例。为此,您必须至少指定
    端口(并选择与默认端口不同的端口),最好是
    dbpath
    (确保选择指向已存在目录的路径)。您可以在命令行上执行此操作,例如:
$mongod--端口28000--dbpath/path/to/your/db

或者,您可以基于默认值创建自己的
mongodb.conf
,更改
port
dbpath
的值,然后启动
mongod
,指定此配置文件的路径:

$mongod-f/path/to/your/mongod.conf


错误:addr已在使用
确实意味着您已经有另一个实例在运行

您是否尝试:

  • 在终端中键入
    mongo
    ,查看它是否连接到服务器
  • 检查
    /var/log/mongodb/mongod.log中的日志
    ?他们有没有告诉你一个实例出现了
  • 键入
    ps-edf | grep mongod
    并查看是否有任何进程正在运行?我想这不是一个好的做法,但是如果有人出现,你是否尝试过杀死它,然后再次键入
    mongod
Aynway,您可能想尝试两件事:

  • 当您键入
    sudo service mongod stop
    并且在
    sudo service mongod重新启动之前,请尝试在终端中键入
    mongod
    。当您通常停止运行实例时,您应该能够启动自己的实例
  • 您可以尝试启动另一个实例。为此,您必须至少指定
    端口(并选择与默认端口不同的端口),最好是
    dbpath
    (确保选择指向已存在目录的路径)。您可以在命令行上执行此操作,例如:
$mongod--端口28000--dbpath/path/to/your/db

或者,您可以基于默认值创建自己的
mongodb.conf
,更改
port
dbpath
的值,然后启动
mongod
,指定此配置文件的路径:

$mongod-f/path/to/your/mongod.conf


错误:addr已在使用
确实意味着您已经有另一个实例在运行

您是否尝试:

  • 在终端中键入
    mongo
    ,查看它是否连接到服务器
  • 检查
    /var/log/mongodb/mongod.log中的日志
    ?他们有没有告诉你一个实例出现了
  • 键入
    ps-edf | grep mongod
    并查看是否有任何进程正在运行?我想这不是一个好的做法,但是如果有人出现,你是否尝试过杀死它,然后再次键入
    mongod
Aynway,您可能想尝试两件事:

  • 当您键入
    sudo service mongod stop
    并且在
    sudo service mongod重新启动之前,请尝试在终端中键入
    mongod
    。当您通常停止运行实例时,您应该能够启动自己的实例
  • 您可以尝试启动另一个实例。为此,您必须至少指定
    端口(并选择与默认端口不同的端口),最好是
    dbpath
    (确保选择指向已存在目录的路径)。您可以在命令行上执行此操作,例如:
$mongod--端口28000--dbpath/path/to/your/db

或者,您可以基于默认值创建自己的
mongodb.conf
,更改
port
dbpath
的值,然后启动
mongod
,指定此配置文件的路径:

$mongod-f/path/to/your/mongod.conf


错误:addr已在使用
确实意味着您已经有另一个实例在运行

您是否尝试:

  • 在终端中键入
    mongo
    ,查看它是否连接到服务器
  • 检查
    /var/log/mongodb/mongod.log中的日志
    ?他们有没有告诉你一个实例出现了
  • 键入
    ps-edf | grep mongod
    并查看是否有任何进程正在运行?我想这不是一个好的做法,但是如果有人出现,你是否尝试过杀死它,然后再次键入
    mongod
Aynway,您可能想尝试两件事:

  • 当您键入
    sudo service mongod stop
    并且在
    sudo service mongod重新启动之前,请尝试在终端中键入
    mongod
    。和你一样