43

我已经在我的 Ubuntu 10.04 中安装了 mongodb。

我知道当使用命令“ mongod ”启动mongodb服务器时,它需要/data/db文件夹,可以通过创建“/data/db/”轻松解决。另一种方法是使用 mongod --dbpath "path" 提供您自己的路径,当我们打算为 db 提供我们自己的自定义路径时。

但是在浏览http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/链接时,我发现有一个配置文件。

我对其进行了以下更改。

# mongodb.conf

dbpath=/EBS/Work/mongodb/data/db/


logpath=/EBS/Work/mongodb/mongodb.log

logappend=true

但是,当我尝试使用“mongod”启动服务器时,它仍然会引发相同的错误,即错误:dbpath (/data/db/) does not exist。我想知道如何将我的 dbpath 永久重定向到我自己的自定义文件夹,因为每次您不想使用“mongod --dbpath path”键入路径。相反,我们希望对配置文件进行一些更改。

4

5 回答 5

58

假设您已按照说明安装MongoDB 的打包版本,您应该开始和停止mongod使用service.

开始mongod

 sudo service mongodb start

停止mongod

 sudo service mongodb stop

如果使用service命令启动和停止,应该是使用配置文件:/etc/mongodb.conf.

mongod从命令行开始

如果你mongod直接运行而不是使用服务定义,你还必须指定一个配置文件作为命令行参数,如果你想使用一个:

mongod --config /etc/mongodb.conf
于 2012-09-13T07:14:02.463 回答
7

这就是我解决这个问题的方法,只需遵循他们的官方文档。在这里

从终端一步一步(运行ubuntu):

  1. cd 进入 /srv 文件夹 =>>cd /srv/
  2. 制作目录=>>mkdir -p mongodb
  3. 从 /srv/ 给新创建的 mongodb 文件夹正确的权限和组......
  4. 最后,运行这个 =>mongod --dbpath /srv/mongodb/

“一步一步”复制终端......:)

 ~$ mongod 
    Tue Jun  3 20:27:39.564 [initandlisten] MongoDB starting : pid=5380 port=27017 dbpath=/srv/mongodb/ 64-bit host= -SVE1411EGXB
    Tue Jun  3 20:27:39.564 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:39.564 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:39.564 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:39.564 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:39.564 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:39.565 [initandlisten] exception in initAndListen: 10296 
    *********************************************************************
     ERROR: dbpath (/srv/mongodb/) does not exist.
     Create this directory or give existing directory in --dbpath.
     See http://dochub.mongodb.org/core/startingandstoppingmongo
    *********************************************************************
    , terminating
    Tue Jun  3 20:27:39.565 dbexit: 
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close listening sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to flush diaglog...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: waiting for fs preallocator...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: lock for final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: closing all files...
    Tue Jun  3 20:27:39.565 [initandlisten] closeAllFiles() finished
    Tue Jun  3 20:27:39.565 dbexit: really exiting now
         ~$ mongod --dbpath /srv/mongodb/
    Tue Jun  3 20:27:55.616 [initandlisten] MongoDB starting : pid=5445 port=27017 dbpath=/srv/mongodb/ 64-bit host= -SVE1411EGXB
    Tue Jun  3 20:27:55.616 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:55.616 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:55.616 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:55.616 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:55.616 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:55.617 [initandlisten] exception in initAndListen: 10296 

     ~$ sudo service mongodb start
start: Job is already running: mongodb
     ~$ sudo service mongodb stop
mongodb stop/waiting
     ~$ cd /srv/
     ~$~$/srv$ ls
     ~$ /srv$ mkdir mongodb
     ~$ sudo chgrp   /srv
     ~$ sudo chmod 775 /srv
     ~$ cd /srv/
     /srv$ ls
     /srv$ mkdir mongodb
     /srv$ ls mongodb
     /srv$ cd
     ~$ mongod --dbpath /srv/mongodb/
Tue Jun  3 20:40:57.457 [initandlisten] MongoDB starting : pid=6018 port=27017 dbpath=/srv/mongodb/ 64-bit host= -SVE1411EGXB
Tue Jun  3 20:40:57.457 [initandlisten] db version v2.4.10
Tue Jun  3 20:40:57.457 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
Tue Jun  3 20:40:57.457 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Jun  3 20:40:57.457 [initandlisten] allocator: tcmalloc
Tue Jun  3 20:40:57.457 [initandlisten] options: { dbpath: "/srv/mongodb/" }
Tue Jun  3 20:40:57.520 [initandlisten] journal dir=/srv/mongodb/journal
Tue Jun  3 20:40:57.521 [initandlisten] recover : no journal files present, no recovery needed
Tue Jun  3 20:41:00.545 [initandlisten] preallocateIsFaster=true 36.86
Tue Jun  3 20:41:03.489 [initandlisten] preallocateIsFaster=true 35.06
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster=true 34.44
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster check took 9.935 secs
Tue Jun  3 20:41:07.456 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.0
Tue Jun  3 20:41:10.009 [initandlisten]         File Preallocator Progress: 985661440/1073741824    91%
Tue Jun  3 20:41:22.273 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.1
Tue Jun  3 20:41:25.009 [initandlisten]         File Preallocator Progress: 933232640/1073741824    86%
Tue Jun  3 20:41:37.119 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.2
Tue Jun  3 20:41:40.093 [initandlisten]         File Preallocator Progress: 1006632960/1073741824   93%
Tue Jun  3 20:41:52.450 [FileAllocator] allocating new datafile /srv/mongodb/local.ns, filling with zeroes...
Tue Jun  3 20:41:52.450 [FileAllocator] creating directory /srv/mongodb/_tmp
Tue Jun  3 20:41:52.503 [FileAllocator] done allocating datafile /srv/mongodb/local.ns, size: 16MB,  took 0.022 secs
Tue Jun  3 20:41:52.517 [FileAllocator] allocating new datafile /srv/mongodb/local.0, filling with zeroes...
Tue Jun  3 20:41:52.537 [FileAllocator] done allocating datafile /srv/mongodb/local.0, size: 64MB,  took 0.02 secs
Tue Jun  3 20:41:52.538 [websvr] admin web console waiting for connections on port 28017
Tue Jun  3 20:41:52.538 [initandlisten] waiting for connections on port 27017
于 2014-06-04T01:04:14.403 回答
1

更改新数据目录的用户:

chown mongodb [rute_directory]

并尝试另一次启动 mongo 服务

服务 mongodb 启动

我用这个解决了同样的问题。

于 2014-10-25T08:34:34.240 回答
0
  1. 从根系统文件夹中查找 mongo 日志文件

sudo find / -name "mongodb.log" -type f

结果:/var/log/mongodb/mongodb.log

  1. 打开 /var/log/mongodb/mongodb.log

  2. 搜索最后一个“例外”字

  3. 尝试纠正异常

在我的情况下,异常是下一个:2015-07-30T15:09:15.806+0300 [initandlisten] initAndListen 中的异常:13597 不能在没有启用 --journal 的情况下启动,当日志/文件存在时,终止

我做了下一个:

  1. cd /var/lib/mongodb
  2. rm -r 日志/
于 2015-07-30T12:23:30.500 回答
0

如果您使用的是 mac catalina:

mongod --dbpath=/Users/user/data/db 离开这个窗口

然后您可以在另一个窗口中输入。

蒙哥

显示数据库

于 2020-02-22T18:47:42.147 回答