关于 MongoDB 无法启动问题

819 阅读2分钟

小白新手,MongoDB 踩坑记

由于前段时间电脑系统以外退出,导致 MongoDB 数据库一直启动不了

[main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'

于是,根据以往经验逐一排查 首先,确认服务是否有启动

ps -ef|grep mongod

找到对应的 pid 执行 kill -2 10014 (SIGINT) 或者 kill 10014 (SIGINT) 我还看到有人用 kill -9 **** ,没错,我那时也是懵懂用了 kill -9 结果就是悔肠子

MongoDB 如果意外关闭或者非正常关闭时,会生成一个 mongod.lock 文件,位置一般为 /usr/local/var/mongodb

要使用--repairpath 选项修复数据文件以保留未经修改的原始数据文件

  1. 使用--repair启动mongod 以读取现有数据文件。
mongod --dbpath / data / db --repair --repairpath / data / db0

完成后,新修复的数据文件将位于 / data / db0目录中。

  1. 开始的mongod使用下面的调用来点 DBPATH在/数据/ DB2:
mongod --dbpath /数据/ db0

确认数据文件可操作后,您可以将数据文件删除或存档在/ data / db目录中。

要在不保留原始文件的情况下修复数据文件,请不要使用--repairpath选项,如以下过程所示:

  1. 删除过时的锁定文件:
rm /data/db/mongod.lock

更换/数据/ DB与DBPATH您的MongoDB实例的数据文件驻留

==警告:删除mongod.lock文件后,必须在使用数据库之前运行 --repair过程。==

  1. 使用--repair启动mongod 以读取现有数据文件
mongod --dbpath / data / db-修复

完成后,修复的数据文件将替换/ data / db目录中的原始数据文件。

  1. 开始的mongod使用下面的调用来点 DBPATH在/数据/ DB
mongod --dbpath /数据/ db

重新配置完成后,通过重新设置启动 conf 文件,以及配置对应 log 文件位置后台启动即可

 sudo mongod --fork --config /usr/local/etc/mongod.conf --logpath /usr/local/var/log/mongodb/mongo.lo
➜  ~ mongo
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
MongoDB server version: 4.4.1
菜鸟教程:www.runoob.com/mongodb/mon…
MongoDB手册:mongodb-documentation.readthedocs.io/en/latest/t…