解决windows server2008服务器安装MongoDB 4.0无法启动问题

最近要在服务器配置MongoDB服务,现把安装服务中遇到的坑记录一下,避免有人遇见跟我一样的问题。

MongoDB的下载安装这里就不过多描述了,

安装参考地址https://www.runoob.com/mongodb/mongodb-window-install.html

从 MongoDB 4.0 开始,默认情况下,你可以在安装期间配置和启动 MongoDB 作为服务,并在成功安装后启动 MongoDB 服务。也就是说,MongoDB 4.0 已经不需要像以前版本那样输入一堆命令行来将 MongoDB 配置成 Windows 服务来自动运行了,方便了很多。只要安装过程中选择好\mongodb\data\db,和\mongodb\log路径就可以。

现转入正题

在安装完成时出现了问题。看他的提示说的是 MongoDB Server 服务无法启动,确保你有足够的权限启动系统服务。

我这里明明是管理员Admin登录安装,应该不存在没有权限的问题啊!郁闷!这里无法解决只能现忽略跳过。

然后根据官网上的教程来手动启动服务试一下,在 MongoDB 安装文件夹的 bin 文件夹下,使用管理员权限打开 PowerShell:

然后输入:

.\mongod --dbpath="E:\MongoDB\data"

从返回的命令来看没问题,最后一条是等待端口 27017 上的连接,所以我在浏览器中输入了 127.0.0.1:27017

可以访问,那证明Mongodb是安装成功了。

但为什么服务器启动失败呢?

再看系统服务里面也有MongoDB服务也存在,但服务是停止状态

尝试使用 net start MongoDB 命令来启动,失败:

继续深挖,在任务管理器的服务里面找到 MongoDB,右键开始,查看它的属性。

这里可以看到可执行文件的路径是这样的:E:\MongoDB\bin\mongod.exe --config "E:\MongoDB\bin\mongod.cfg" --service

也就是说,启动 MongoDB Server 服务时运行的也是这条命令,于是我手动运行了这条命令:

Unrecognized option: mp,未识别的选项:mp,不知道这是个啥?网站搜了很久也没有相关资料。

重点!!

mongod 命令后的 --config 是指定运行 mongod 时的配置文件,于是在安装文件夹的 bin 文件夹下找到 mongod.cfg 文件,打开

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: E:\MongoDB\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  E:\MongoDB\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:
mp:

终于发现隐藏在最后一行的 mp:

当我把最后一行的 mp: 删掉后,重新启动服务,成功了!!!

最后将 bin 文件夹设置进系统环境变量可以大大方便在命令提示符中使用 mongo 等命令,这里就不细说了。

至于为什么会在mongod.cfg 文件会无故多出来这么令人抓狂的一行,实在搞不明白。

如果用以上处理方法启动时还提示“MongoDB服务无法启动,windows提示发生服务特定错误:100

那可能是之前你在启动MongoDB服务时执行了很多命令,如使用 msi 进行安装,由于 MongoDB 4.0 自动安装配置成 Windows 服务,也就不需要大部分教程里的像 

mongod --dbpath "C:\MongoDB\data\db" --logpath "C:\MongoDB\data\log\mongo.log" --install --serviceName "MongoDB"

 这样的语句了,除非下载的是单纯的压缩包,我看到很多 4.0 的教程下载的是 msi 安装包,都还在使用命令提示符配置 MongoDB 成服务,所以这里就不要多此一举了.

好现在来解决这个“MongoDB服务无法启动,windows提示发生服务特定错误:100”问题

如果你碰到了和我一样的问题,那么现在你只需要进行下面两个操作,应该就能解决啦~

找到E:\MongoDb\data\db这个目录

1.找到你数据库文件夹中的这两个文件 mongod.lock storage.bson
2.删掉他们

现在再来重新启动MongoDB服务,看不是解决了

接下来远程连接一下看看是否成功

我这里用的是NoSQL Manager for MongoDB这个界面管理工具

下载地址:https://www.mongodbmanager.com/

打开工具输入服务器IP地址和端口号

这是你会发现远程连接不上。

莫急

MongoDB 服务器启动后,不进行配置,其他机器无法访问,需要进行如下配置:

1、找到你的mongod.cfg配置文件,增加bindIp的配置,记住要想让其他机器访问,需要绑定为0.0.0.0

此配置文件的内容格式为yml,编写时注意空格,否则,无法启动服务器。

systemLog:
    destination: file
    path: d:\data\log\mongod.log
storage:
    dbPath: d:\data\db
net:
    bindIp: 0.0.0.0
    port: 27017

2、打开防火墙设置——让服务器的防火墙入站规则添加一个新规则——允许端口27017;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值