MongoDB运行环境
- 操作系统:win10
- 安装方式:.msi文件安装
- MongoDB版本:4.2.7
遇到的问题
在CMD中执行 mongod --config mongod.cfg
启动失败,报错误:Failed global initialization: FileNotOpen: Failed to open "D:Program FilesMongoDBServer4.2logmongod.log"
网上错误的解决办法
通过不断搜索,网上大致说了以下几种解决方案,经尝试都是坑,并不能解决问题,这里罗列出来:
- CMD程序需要右键,“以管理员身份运行”:这个确实需要,但是如果你能提示错误就证明当前已经是在用管理员身份运行操作了。如果是普通的CMD窗口执行则不会报错,也不会正确启动,就好像没有发生任何事情一样。
- 检查是否存在mongod.log文件,没有则手工创建:不需要,新版本默认会自动创建该文件。
- 检查mongod.log的文件权限:跟权限无关!
- 命令后面增加 --install:完全无关!
- 在mongod.cfg中,数据库和日志文件路径要加“”(双引号):不需要!
实际问题原因和解决办法
实际原因:当前系统中有其他程序正在占用(使用)mongod.log该文件。
检查方式:打开 windows 任务管理器,找到mongodb相关的进程,例如 mongo.exe、MongoDB Shell、Mongod Database Server、MongoDBCompass,关闭结束这些进程。
重新以管理员身份运行 Windows CMD,再次执行 mongod --config mongod.cfg,这次将会顺利启动。
有一个不推荐,暴力的解决方法:找到日志目录,手工删除掉 mongod.log,再次执行 mongod --config mongod.cfg,也能启动,只不过之前的日志文件内容都不存在了。
验证是否真的启动成功:在浏览器上访问 http://127.0.0.1:27077,显示:It looks like you are trying to access MongoDB over HTTP on the native driver port. 证明刚才的启动是成功的。
注意:
1.确保是使用管理员身份运行的 Windows CMD
2.顺利启动后,CDM界面也不会有文字提示,只是光标会定位在最左侧
3.此时你需要再以管理员运行的方式,打开一个新的 CMD 窗口,执行 mongo --host 127.0.0.1:27077 和其他连接参数,即可连接上刚才开启的mongod服务,并进行各种mongodb命令操作
4.若关闭CMD窗口或者执行 Ctrl+C,则会关闭Mongod服务或退出连接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。