MongoDB启动异常 down with code 报错 及 正确的关闭方法

2021-01-15 13:10:41

现在列出来 mongodb异常关闭打不开的几种解决方法。

我的原因是磁盘满了,让后mongodb就挂了,清理了磁盘也打不开,后来使用网上各种方法也打不开。

最后还是用下面的第一种方法打开的,虽然也不知道diagnostic.data是干啥的, 貌似记录分析用的

报错1:

[ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost.

解决办法:

1、删除掉diagnostic数据:

rm -f /var/lib/mongo/diagnostic.data/*

2、启动mongodb。

进入MongoDB的bin目录下,

 sudo ./mongod

报错2:

2018-07-20T22:42:08.645+0800 I STORAGE  [initandlisten] exception in initAndListen: DBPathInUse: Unable to lock the lock file:

(Unknown error). Another mongod instance is already running on the /data/db directory, terminating.

2018-07-20T22:42:08.645+0800 I CONTROL  [initandlisten] now exiting
2018-07-20T22:42:08.645+0800 I CONTROL  [initandlisten] shutting down with code:100

解决办法:mongodb非正常关闭 删除mongod.lock文件即可.(lock文件所在路径各有不同)

sudo rm /data/db/mongod.lock

报错3:

2018-07-20T22:29:17.982+0800 I CONTROL  [initandlisten] MongoDB starting : pid=3499 port=27017 dbpath=/data/db 64-bit host=xumovm

......

2018-07-20T21:12:05.974+0800 E STORAGE  [initandlisten] Failed to set up listener: SocketException: Address already in use

解决办法:

找到mongo之前运行的PID号,关掉它,重新输入启动命令

sudo netstat -anp|more激活Internet连接 (服务器和已建立连接的)Proto Recv-Q Send-Q Local Address           Foreign Address         StatePID/Program nametcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN2515/./mongodsudo kill 2515

正确的关闭方法:停止Mongodb

方法一:查看进程,使用kill命令;不能使用kill -9

方法二:在在客户端进去,使用shutdown命令

/usr/local/mongodb/bin:$ ./mongod> use admin;switched to db admin> db.shutdownServer();server should be down...
2018-07-20T23:06:30.230+0800 I NETWORK  [initandlisten] waiting for connections on port 270172018-07-20T23:13:37.028+0800 I NETWORK  [listener] connection accepted from 127.0.0.1:56738 #1 (1 connection now open)2018-07-20T23:13:37.029+0800 I NETWORK  [conn1] received client metadata from 127.0.0.1:56738 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "4.0.0" }, os: { type: "Linux", name: "Ubuntu", architecture: "x86_64", version: "18.04" } }2018-07-20T23:13:59.951+0800 I COMMAND  [conn1] terminating, shutdown command received { shutdown: 1.0, $db: "admin" }2018-07-20T23:13:59.951+0800 I NETWORK  [conn1] shutdown: going to close listening sockets...2018-07-20T23:13:59.951+0800 I NETWORK  [conn1] removing socket file: /tmp/mongodb-27017.sock2018-07-20T23:13:59.952+0800 I FTDC     [conn1] Shutting down full-time diagnostic data capture2018-07-20T23:13:59.956+0800 I STORAGE  [conn1] WiredTigerKVEngine shutting down2018-07-20T23:14:00.049+0800 I STORAGE  [conn1] shutdown: removing fs lock...2018-07-20T23:14:00.049+0800 I CONTROL  [conn1] now exiting2018-07-20T23:14:00.049+0800 I CONTROL  [conn1] shutting down with code:0


  • 2020-12-08 11:51:54

    Ubuntu安装Node.js和npm

    Node.js是基于Chrome的JavaScript构建的跨平台JavaScript运行时环境,npm是Node.js的默认程序包管理器,也是世界上最大的软件注册表。本篇文章展示了三种在Ubuntu 20.04服务器上安装Node.js和npm的方法。

  • 2020-12-08 17:13:57

    nvm卸载、安装node和npm

    1、node.js、nvm、 npm (1)在cmd中输入`where node`找到node长须所在位置进行删除 (2)确保计算机-环境变量删除相关引用 (3)在cmd中输入`node -v` ,得到以下结果,删除成功

  • 2020-12-08 17:23:36

    Window下完全卸载删除Nodejs

    1.从卸载程序卸载程序和功能。 2.重新启动(或者您可能会从任务管理器中杀死所有与节点相关的进程)。 3.寻找这些文件夹并删除它们(及其内容)(如果还有)。根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在:

  • 2020-12-09 08:48:45

    nodejs版本以及其对应的npm版本

    正在寻找某个大版本的最新版? Node.js 10.x Node.js 8.x Node.js 6.x Node.js 4.x Node.js 0.12.x Node.js 0.10.x 所有版本

  • 2020-12-12 17:27:54

    手把手教你 GitLab 的安装及使用

    GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。