在 Windows 7 [32 位] 中启动 MongoDB 时出错
Posted
技术标签:
【中文标题】在 Windows 7 [32 位] 中启动 MongoDB 时出错【英文标题】:Error starting MongoDB in windows 7 [32-bit] 【发布时间】:2015-01-16 19:22:19 【问题描述】:我按照blog(link) 在我的系统中安装和配置 MongoDB [Windows 7 32 位]。
正如博主所说,我已经下载mongodb-win32-i386-2.6.5并解压到D:/mongodb/并关注blog p>
安装一切正常,但是当我尝试使用以下命令启动服务时,
D:\mongodb\bin>net start MongoDB
我得到了错误响应,
System error 2 has occurred.
The system cannot find the file specified.
如何解决?
更新:日志文件
2014-11-19T16:43:25.356+0530 [DataFileSync] 刷新诊断日志
2014-11-19T16:43:25.403+0530 [initandlisten] MongoDB 开始:pid=5128 port=27017 dbpath=D:\mongodb\data 32-bit host=AVVENIRE-JAVA
2014-11-19T16:43:25.403+0530 [初始化监听]
2014-11-19T16:43:25.403+0530 [initandlisten] ** 注意:这是 32 位 MongoDB 二进制文件。
2014-11-19T16:43:25.403+0530 [initandlisten] ** 32 位构建限制为少于 2GB 的数据(或使用 --journal 时更少)。
2014-11-19T16:43:25.403+0530 [initandlisten] ** 见http://dochub.mongodb.org/core/32bit
2014-11-19T16:43:25.404+0530 [初始化监听]
2014-11-19T16:43:25.404+0530 [initandlisten] targetMinOS:Windows XP SP3
2014-11-19T16:43:25.404+0530 [initandlisten] 数据库版本 v2.6.1
2014-11-19T16:43:25.404+0530 [initandlisten] git 版本:4b95b086d2374bdcfcdf2249272fb552c9c726e8
2014-11-19T16:43:25.404+0530 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=0, build=6002, platform=2, service_pack='Service Pack 2') BOOST_LIB_VERSION =1_49
2014-11-19T16:43:25.404+0530 [initandlisten] 分配器:系统 2014-11-19T16:43:25.404+0530 [initandlisten] 选项: config:“d:\mongodb\mongo.config”,diaglog:3,net: bindIp:“127.0.0.1”,端口:27017, storage: dbPath: "D:\mongodb\data", journal: enabled: true , systemLog: destination: "file", logAppend: true, path: "D:\mongodb\log\mongo.log" , 安静: 真
2014-11-19T16:43:25.483+0530 [initandlisten] 日志目录=D:\mongodb\data\journal
2014-11-19T16:43:25.484+0530 [initandlisten] 恢复:不存在日志文件,无需恢复
2014-11-19T16:43:25.770+0530 [initandlisten] 等待端口 27017 上的连接
2014-11-19T16:44:25.439+0530 [DataFileSync] 刷新诊断日志
2014-11-19T16:45:25.361+0530 [DataFileSync] 刷新诊断日志
2014-11-19T16:46:25.360+0530 [DataFileSync] 刷新诊断日志
2014-11-19T16:46:31.869+0530 [conn1] 终止,收到关闭命令
2014-11-19T16:46:31.869+0530 [conn1] dbexit:关闭调用
2014-11-19T16:46:31.869+0530 [conn1] 关闭:要关闭监听套接字...
2014-11-19T16:46:31.869+0530 [conn1] 关闭监听套接字:540
2014-11-19T16:46:31.869+0530 [conn1] 关机:要刷新诊断日志...
2014-11-19T16:46:31.869+0530 [conn1] 刷新诊断日志
2014-11-19T16:46:31.869+0530 [conn1] 关闭:要关闭套接字...
2014-11-19T16:46:31.870+0530 [conn1] 关闭:等待 fs 预分配器...
2014-11-19T16:46:31.870+0530 [conn1] 关闭:锁定最终提交...
2014-11-19T16:46:31.870+0530 [conn1] 关闭:最终提交...
2014-11-19T16:46:31.873+0530 [conn1] 关机:关闭所有文件...
2014-11-19T16:46:31.873+0530 [conn1] closeAllFiles() 完成
2014-11-19T16:46:31.873+0530 [conn1] journalCleanup...
2014-11-19T16:46:31.889+0530 [conn1] removeJournalFiles
2014-11-19T16:46:31.891+0530 [conn1] 关机:删除 fs 锁...
2014-11-19T16:46:31.891+0530 [conn1] dbexit:现在真的退出了
2014-11-19T16:47:08.985+0530 ***** 服务器已重启 *****
2014-11-19T16:47:08.985+0530 尝试安装 Windows 服务“MongoDB”
2014-11-19T16:47:08.985+0530 已经有一个名为“MongoDB”的服务,正在中止
更新 2(@disposer 建议的结果):
【问题讨论】:
请您分享日志。此外,完全不建议在 32 位版本上运行。 @vmr 我已经更新了我的问题中的日志,请看一下并帮助我...(我不知道 NoSql db) 嗯,最好使用 64 位版本的 MongoDB。然后使用 'mongod.exe' 从 bin 文件夹启动它 @vmr 但它在 32 位 Windows 上不兼容 64 位 MongoDB,你能帮我处理 Windows 32 位吗 你可以开始赏金了。 【参考方案1】:以管理员身份运行命令窗口并运行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 作为服务运行时,得到响应,The filename, directory name, or volume label syntax is incorrect
哦,我的不好把C:\mongodb\bin\mongod"改成C:\mongodb\bin\mongod,没用"
我已经更新了我得到的结果,并在我的问题中更新了您的建议,请看一下...
我没有看到错误,只是警告,从控制面板检查您的服务并检查 MongoDb 服务,它应该在那里
将--journal
添加到命令并从中删除--bind_ip 0.0.0.0
,看看会发生什么,只需以管理员身份运行命令【参考方案2】:
从此链接下载@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 并在 OS 驱动器 (c:) 中创建一个目录,仅作为 --dbpath C:\data\db
让您的服务器在命令提示符下运行,从http://s3.mongobooster.com/download/3.5/mongobooster-3.5.3.exe 安装 mongobooster 以便 GUI 管理 mongodb。 并连接到本地数据库..try samples@https://www.youtube.com/playlist?list=PL6gx4Cwl9DGDQ5DrbIl20Zu9hx1IjeVhO
【讨论】:
【参考方案3】:我让它像这样工作..
安装最新的msi 版本。
创建文件夹 c:\data\db
在我的 bin 目录 (C:\Program Files\MongoDB\Server\3.2\bin) 中,我运行了 mongod --storageEngine=mmapv1 --dbpath C:\data\db使用 CMD。
打开一个新的 CMD 窗口(保持第 1 步的那个仍然运行)并移动到同一个 bin 目录(C:\Program Files\MongoDB\Server\3.2\bin),然后运行 mongo.exe
希望对你有帮助
【讨论】:
【参考方案4】:如果在日志文件中显示“已经有一个名为 'MongoDB' 的服务,正在休眠并重试”,这意味着您正在重新安装 mongodb.for 解决此问题只需运行
-
mongod --remove 在 bin 文件夹中的命令提示符中。它将删除服务 MongoDB。
然后运行 mongod --directoryperdb --dbpath C:\mongodb\data\db --logpath C:\mongodb\log\mongo.log --logappend --install。
最后一个命令 net start MongoDB 将运行 MongoDB 服务。
【讨论】:
【参考方案5】:我在 32 位的 MongoDB 3.2 中遇到了同样的错误。
尝试新建db
文件夹
从旧的 db 文件夹复制粘贴您的数据库(有 2 个文件)
使用cmd
将其与新的db文件夹连接
您不会丢失您的数据库。它发生在我身上两次。我不知道为什么会这样
【讨论】:
以上是关于在 Windows 7 [32 位] 中启动 MongoDB 时出错的主要内容,如果未能解决你的问题,请参考以下文章
windows 7(32/64位)GHO安装指南(U盘引导篇)~
我无法在我的系统 windows 7 32 位上的 XAMPP 上启动 Apache
windows 7(32/64位)GHO安装指南(U盘制作篇)~