MongoDB的新手无法运行命令mongo


93

我试图运行MongoDB:

   E:\mongo\bin>mongod
    mongod --help for help and startup options
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 [initandlisten] MongoDB starting : pid=7108 port=27017 dbpath=/data/db 32-bit host=pykhmer-PC
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    Sun Nov 06 18:48:37 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
    Sun Nov 06 18:48:37 [initandlisten] **       with --journal, the limit is lower
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] db version v2.0.1, pdfile version 4.5
    Sun Nov 06 18:48:37 [initandlisten] git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684
    Sun Nov 06 18:48:37 [initandlisten] build info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_42
    Sun Nov 06 18:48:37 [initandlisten] options: {}
    Sun Nov 06 18:48:37 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating
    Sun Nov 06 18:48:37 dbexit:
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close listening sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to flush diaglog...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: waiting for fs preallocator...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: closing all files...
    Sun Nov 06 18:48:37 [initandlisten] closeAllFiles() finished
    Sun Nov 06 18:48:37 dbexit: really exiting now

E:\mongo\bin>mongo
MongoDB shell version: 2.0.1
connecting to: test
Sun Nov 06 18:48:42 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

E:\mongo>ls
GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES  bin  data

我正在查看http://www.mongodb.org/display/DOCS/Quickstart+Windows, 并按照说明进行操作。谁能告诉我运行MongoDB的问题是什么(我正在使用Windows 7)?


不赞成投票,因为即使是新手也不能问太多日志。关机开始前的那一行清楚地说明了正在发生的事情。
Markus W Mahlberg 2014年

Answers:


76

我认为您的日志输出清楚地表明了这一点;

exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating

您可以简单地创建此目录,或者更好地将其定义为配置文件中的配置值,然后将其用作mongod -f C:\path\to\your\mongodb.conf


6
别担心。刚刚摆脱的那个windowz的事情,这会让你更熟悉软件开发..
kirpit

14
默认情况下,MongoDB在以下目录中查找:c:\ data \ db文件夹,因此您也可以只创建该目录结构,而MongoDB数据库进程不会对您大吼大叫。
Miguel Sevilla

1
我将data \ db放在很多地方,以及使用--dbpath选项都没有用。唯一有效的方法是按照Miguel Sevilla的建议创建c:\ data \ db文件夹。
brybott 2014年

165

安装MongoDB之后,您应该手动创建一个数据文件夹。

默认情况下,MongoDB将数据存储在/ data / db中, 
但它不会自动创建该目录。要创建它,请执行以下操作:

$ sudo mkdir -p / data / db /
$ sudo chown`id -u` / data / db

您还可以告诉MongoDB使用其他数据目录,
使用--dbpath选项。

有关更多详细信息,请访问MongoDB Wiki页面。


3
这应该是答案-它起作用并且比“阅读文档”更有用。

还要注意的是,我今天才发现这一点,如果您使用service mongodb start它启动mongo 会自动读取/etc/mongod.conf文件,并且您无需在每次启动时都指定--dbpath或--config变量!这绝对适用于10gen安装,但是我不确定其他人,因为我还没有尝试过。
boundless08年


21
mongod --dbpath "c://data/db"

运行上面的代码,这将启动服务器。


5

对于Windows 7

您可以使用mongod.exe\data\dbdbpath设置指定替代路径,

如以下示例所示:

c:\mongodb\bin\mongod.exe --dbpath c:\mongodb\data\db

要么

您可以通过Configuration File设置dbpath


4

检查数据库数据文件的路径是否存在;):

Sun Nov 06 18:48:37 initAndListen中的[initandlisten] 异常:10296 dbpath(/ data / db)不存在,正在终止


2

这对我有用(如果适用,您还会看到锁定文件):

first>youridhere@ubuntu:/var/lib/mongodb$ sudo service mongodb start 
then >youridhere@ubuntu:/var/lib/mongodb$ sudo rm mongod.lock*

2

经过几次尝试,这在Windows 7 env 上对我有效:

最初,您已将所有MongDB源复制到的目录具有以下视图:

bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

您只需要添加数据目录和db目录nested(data / db),最终视图应如下所示:

data
bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

只需在存在以下命令的目录中键入MongoDB源和数据/数据库目录即可:

C:\my_mongo_dir\bin>mongod --dbpath .\data\db

1

另外,请检查您是否已将Mongo作为Windows服务安装,并且是否正在运行。这也很重要。因此可能会发生端口冲突。


1

在主(Windows)分区中创建data / db目录:

C:\> mkdir \data
C:\> mkdir \data\db

然后转到您的mongo_directory / bin并运行mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

不要关闭此窗口

现在,在另一个命令提示符窗口中运行Mongo:

C:\> cd \my_mongo_dir\bin
C:\my_mongo_dir\bin> mongo

(记住您必须保持其他窗口打开)

这为我解决了问题。


>> mongod --install --dbpath c:\ data \ db --logpath c:\ data \ log >> net start“ Mongo DB” //注意:net start可能需要管理员权限
阻尼帽

1

在工作目录中创建文件夹结构data / db,然后使用“ mongod --dbpath data / db”启动mongodb即可


1

startup.bat如果您使用的是Windows,则应该创建一个更方便的方法:

C:\mongodb\mongodb-win32-x86_64-eiditon\bin\mongod.exe --dbpath C:\mongodb\data

只需dbclick startup.bat和mongodb都将C:\mongodb\data用作其数据文件夹运行。


0

您只需要在C:中创建目录。作为C:\ data \ db \

现在只需启动mongoDB:

C:\Users\gi.gupta>"c:\Program Files\MongoDB\Server\3.2\bin\mongod.exe"
2016-05-03T10:49:30.412+0530 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] MongoDB starting : pid=7904 port=27017 dbpath=C:\data\db\ 64-bit host=GLTPM-W036
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] db version v3.2.6
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] modules: none
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] build environment:
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distarch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] options: {}
2016-05-03T10:49:30.427+0530 I -        [initandlisten] Detected data files in C:\data\db\ created by the 'wiredTiger' storage engine, so setting the active storage engine to
2016-05-03T10:49:30.429+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(f
chive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-05-03T10:49:30.998+0530 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-05-03T10:49:30.998+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'C:/data/db/diagnostic.data'
2016-05-03T10:49:31.000+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-05-03T10:49:40.766+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:57504 #1 (1 connection now open)

然后它将作为服务在后台运行。


0

如果您使用的是Windows 7 / 7+。

您可以尝试以下方法。

在计算机的控制面板中检查安装是否正确。

现在转到目录以及安装MongoDB的位置。理想情况下,它将位于

C:\ Program Files \ MongoDB \ Server \ 3.6 \ bin

然后在命令提示符下或在IDE的终端中。导航到上面的路径(最好是保存文件)并输入

mongod --dbpath

应该没问题!


0

mongo README帮助文件给出的最简单方法

正在运行

对于命令行选项,请调用:

$ ./mongod --help

要运行单个服务器数据库:

$ sudo mkdir -p /data/db
$ ./mongod
$
$ # The mongo javascript shell connects to localhost and test database by default:
$ ./mongo
> help

如果您使用的是Windows,请转至您拥有mongo.exe的目录

使用以下命令,(我与我分享)

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data\db

C:\Program Files\MongoDB\Server\3.6\bin>mongod ## this will start your mongoDB server

现在,您需要运行另一个CMD提示符,并转到您拥有mongo的目录,然后运行它

C:\Program Files\MongoDB\Server\3.6\bin>mongo ## this will start your mongoDB client

希望它有帮助:)

如果不起作用,请以管理员身份运行CMD

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.