首先直入主题,出现 MongoDB安装错误【shutting down with code:100】其实跟 Mongodb无法在本机启动都是前因后果的联系,自己找了很久方法,终于找到一个成功的了(┬_┬):

一、配置环境变量

一切从报错开始,这两种报错都是说明Mongodb不能在你本机启动,收集的图这里就统一展示:

mongodb 开机自启动 mongodb启动失败100_配置环境变量


mongodb 开机自启动 mongodb启动失败100_配置环境变量_02


这种就应该先把启动环境搭好,配置环境变量(进入配置环境变量 == 右键计算机或者我的电脑 → 属性 → 高级系统配置 → 切换至高级选项卡 → 点击下面的环境变量)

① 添加MongoDB的bin路径(C:\Program Files\MongoDB\Server\4.2\bin)到环境变量path下,这里是默认路径C盘,如果安装的时候自定义的话,就要自己找到当时安装的位置,然后配置如下:

变量名:MONGO_HOME
 
变量值:C:\Program Files\MongoDB\Server\4.0

mongodb 开机自启动 mongodb启动失败100_mongodb_03


然后确认再讲这个变量添加到Path中完成环境配置(添加到Path要注意前后有分号):

;%MONGO_HOME%\bin;

mongodb 开机自启动 mongodb启动失败100_mongodb 开机自启动_04


二、完成环境搭建后,以管理员身份打开cmd,然后删除安装时默认创建的mongodb服务:

sc delete MongoDB

mongodb 开机自启动 mongodb启动失败100_mongodb 开机自启动_05


至此,服务列表中就已经不存在默认安装的MongoDB的服务。

下面将手动创建一个新的可用的服务,这里可以参考菜鸟教程:https://www.runoob.com/mongodb/mongodb-window-install.html

在c盘中创建一个data文件夹,然后在data文件夹内部在创建两个文件dblogs,如图:

mongodb 开机自启动 mongodb启动失败100_配置环境变量_06


其次在logs文件夹中创建一个MongoDB.log,最后通过命令行运行创建一个新的MongoDB服务:

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

mongodb 开机自启动 mongodb启动失败100_mongodb_07


三、最好可以通过服务中看到MongoDB服务启动在本机了(服务可以通过 win+R 启动运行框中输入SERVICES.MSC来开启)

mongodb 开机自启动 mongodb启动失败100_mongodb_08


此时已经解决了本机不能启动的问题啦,但是此时启动Mongod的话有可能还会报错shutting down with code:100;

四、删除mongod.lock文件

找到MongoDB安装目录\data\将此文件夹下的mongod.lock删除,这里有些人说很难找或者没看到,可以使用电脑管家/360桌面管理有一个搜索功能的,直接输入mongod.lock直接出来,比直接在系统的搜索快很多,不是打广告…

五、在启动mongod并且校验

最后在安装目录的bin中继续执行mongod启动连接,出现这段命令说明你已经成功对接数据库啦:

mongodb 开机自启动 mongodb启动失败100_mongodb_09


也可以直接使用浏览器进入http://127.0.0.1:27017/,如果出现这些说明也是成功的:

mongodb 开机自启动 mongodb启动失败100_mongodb 开机自启动_10

结语

好了关于这两个“连体”报错亲测是可以的,不知道能不能帮到你,我看网上还说需要 找到data文件夹db下面的storage.bson文件,并删除掉;博主没有执行这个步骤也是通过的,如果你们在删除mongod.lock后启动还是报错的话。可以试试把这个删除掉,注意删除前要停止掉服务,这里收集了四条关闭mongodb,选其一就行,然后再去删除storage.bson,再次启动即可;

echo "db.shutdownServer()"|mongo admin --port 27017

mongo admin --port 27017 --eval "db.shutdownServer()"

mongo --eval "db.getSiblingDB('admin').shutdownServer()"

alias mongostop='mongo admin --eval "db.shutdownServer()"'

参考资料:
https://www.jianshu.com/p/b700581f1ec0