在Windows 7 [32位]上启动MongoDB出现错误

6
我跟随博客(链接)安装和配置MongoDB在我的系统中[Windows 7 32位]。
根据博主所说,我已经下载了mongodb-win32-i386-2.6.5并将其解压到D:/mongodb/,并遵循了博客的指导。
直到安装完成一切都很好,但是当我尝试使用以下命令启动服务时,
 D:\mongodb\bin>net start MongoDB

我收到了错误响应,内容如下:
System error 2 has occurred.

The system cannot find the file specified.

如何解决这个问题?

更新:日志文件

2014年11月19日16:43:25.356+0530 [DataFileSync] 刷新诊断日志 2014年11月19日16:43:25.403+0530 [initandlisten] MongoDB开始:pid=5128,端口=27017,dbpath=D:\mongodb\data 32位主机=AVVENIRE-JAVA 2014年11月19日16:43:25.403+0530 [initandlisten] 2014年11月19日16:43:25.403+0530 [initandlisten] **注意:这是一个32位的MongoDB二进制文件。 2014年11月19日16:43:25.403+0530 [initandlisten] ** 32位版本的数据限制在小于2GB(或使用--journal时更少)。 2014年11月19日16:43:25.403+0530 [initandlisten] **请参见http://dochub.mongodb.org/core/32bit 2014年11月19日16:43:25.404+0530 [initandlisten] 2014年11月19日16:43:25.404+0530 [initandlisten] targetMinOS:Windows XP SP3 2014年11月19日16:43:25.404+0530 [initandlisten] db版本v2.6.1 2014年11月19日16:43:25.404+0530 [initandlisten] git版本:4b95b086d2374bdcfcdf2249272fb552c9c726e8 2014年11月19日16:43:25.404+0530 [initandlisten] 构建信息:windows sys.getwindowsversion(major = 6,minor = 0,build = 6002,platform = 2,service_pack ='Service Pack 2')BOOST_LIB_VERSION = 1_49 2014年11月19日16:43:25.404+0530 [initandlisten] 分配器:系统 2014年11月19日16:43:25.404+0530 [initandlisten] 选项:{config:“d:\ mongodb \ mongo.config”,diaglog:3,net:{bindIp:“127.0.0.1”,port:27017},storage:{dbPath:“D:\ mongodb \ data”,journal:{enabled:true}},systemLog:{destination:“file”,logAppend:true,path:“D:\ mongodb \ log \ mongo.log”,quiet:true}} 2014年11月19日16:43:25.483+0530 [initandlisten] 日志目录=D:\ mongodb \ data \ journal 2014年11月19日16:43:25.484+0530 [initandlisten] 恢复:没有日志文件,不需要恢复 2014年11月19日16:43:25.770+0530 [initandlisten] 等待连接端口27017 2014年11月19日16:44:25.439+0530 [DataFileSync] 刷新诊断日志 2014年11月19日16:45:25.361+0530 [DataFileSync] 刷新诊断日志 2014年11月19日16:46:25.360+0530 [DataFileSync] 刷新诊断日志 2014年11月19日16:46:31.869+0530 [conn1] 终止,收到关闭命令 2014年11月19日16:46:31.869+0530 [conn1] dbexit:调用关闭 2014年11月19日16:46:31.869+0530 [conn1] 关闭:将关闭侦听套接字... 2014年11月19日16:46:31.869+0530 [conn1] 关闭侦听套接字:540 2014年11月19日16:46:31.869+0530 [conn1] 关闭:将刷新diaglog ... 2014年11月19日16:46:31.869+0530 [conn1] 刷新诊断日志 2014年11月19日16:46:31.869+0530 [conn1] 关闭:将关闭套接字... 2014年11月19日16:46:31.870+0530
更新2(@disposer建议的结果):

enter image description here


请问您能否分享一下日志。此外,运行在32位版本上并不可取。 - vmr
@vmr 我已经在我的问题中更新了日志,请看一下并帮我...(我对NoSql数据库一窍不通) - A J
嗯,最好尝试使用64位版本的MongoDB。然后从bin文件夹中使用“mongod.exe”启动它。 - vmr
@vmr 但是在32位Windows上无法兼容64位的MongoDB,你能帮我解决一下32位Windows的问题吗? - A J
你可以发起一个悬赏。 - vmr
5个回答

7

以管理员身份运行命令窗口并运行net delete MongoDB

要将Mongo作为服务运行,请使用以下命令:

C:\mongodb\bin\mongod --bind_ip  0.0.0.0 --logpath  "C:\Data\db\log.txt"  --logappend  --dbpath  "C:\Data\db"  --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

然后以管理员身份运行命令行窗口并运行net start MongoDB


当按照您所说的方式将Mongo作为服务运行时,会收到以下响应:文件名、目录名或卷标语法不正确 - A J
抱歉,我的错误。将 "C:\mongodb\bin\mongod" 更改为 C:\mongodb\bin\mongod,去掉双引号即可。 - Disposer
我已经根据你在我的问题中提出的建议更新了我的结果,请看一下... - A J
--journal 添加到命令中,并从中删除 --bind_ip 0.0.0.0,看看会发生什么,只需以管理员身份运行命令。 - Disposer
应该使用“sc delete…”而不是“net delete”吗? - circuitBurn
显示剩余2条评论

6

从这个链接下载 @ http://downloads.mongodb.org/win32/mongodb-win32-i386-v3.2-latest-signed.msi?_ga=1.10304565.1436936475.1490595203

安装在 E: 盘后,使用以下选项运行 mongod 命令: @ E:\Program Files\MongoDB\Server\3.2\bin> mongod --storageEngine=mmapv1 --dbpath C:\data\db

注意,为了避免错误,特别是对于 32 位系统,需要安装两个选项:--storageEngine=mmapv1 和在操作系统盘(c:)上创建一个目录,只需使用 --dbpath C:\data\db

在命令提示符下保持服务器运行,从 http://s3.mongobooster.com/download/3.5/mongobooster-3.5.3.exe 安装 mongobooster 以获得可视化界面来管理 mongodb。 并连接到本地数据库。尝试示例 @ https://www.youtube.com/playlist?list=PL6gx4Cwl9DGDQ5DrbIl20Zu9hx1IjeVhO


4
我这样做让它运行起来了:
  1. 安装最新的msi版本。

  2. 创建文件夹c:\ data \ db

  3. 在我的bin目录(C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin)中,我使用CMD运行mongod --storageEngine=mmapv1 --dbpath C:\data\db

  4. 打开一个新的CMD窗口(保持第一步的窗口仍然运行),并进入相同的bin目录(C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin),然后运行mongo.exe

希望对你有所帮助。

3

如果日志文件显示"There is already a service named 'MongoDB', sleeping and retrying",那么这意味着您正在重新安装mongodb。要解决此问题,请按照以下步骤操作:

  1. 在命令提示符中的bin文件夹中运行mongod --remove命令,它将删除MongoDB服务。
  2. 然后运行mongod --directoryperdb --dbpath C:\mongodb\data\db --logpath C:\mongodb\log\mongo.log --logappend --install。
  3. 最后运行net start MongoDB命令来启动MongoDB服务。

0

我在使用32位MongoDB 3.2时遇到了同样的错误。

  1. 尝试创建一个新的db文件夹

  2. 将旧的db文件夹中的数据库复制粘贴到新的db文件夹中(有两个文件)

  3. 使用cmd连接到新的db文件夹

你不会失去你的数据库。这已经发生过两次了,我也不知道为什么会这样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接