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


  • 2017-02-13 17:50:05

    cURL error 60: SSL certificate problem: unable to get local issuer certificate

    Drupal 8 version uses Guzzle Http Client internally, but under the hood it may use cURL or PHP internals. If you installed PHP cURL on your PHP server it typically uses cURL and you may see an exception with error Peer certificate cannot be authenticated with known CA certificates or error code CURLE_SSL_CACERT (60).

  • 2017-02-16 08:09:01

    HTML中PRE和p的区别

    pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 <pre> 标签的一个常见应用就是用来表示计算机的源代码。

  • 2017-02-16 15:14:14

    动态加载js和css

    开发过程中经常需要动态加载js和css,今天特意总结了一下常用的方法。

  • 2017-02-17 17:11:24

    mysql插入数据后返回自增ID的方法c

    产生的ID 每次连接后保存在服务器中。这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_INCREMENT列的最新语句第一个 AUTO_INCREMENT值的。这个值不能被其它客户端影响,即使它们产生它们自己的 AUTO_INCREMENT值。这个行为保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需要加锁或处理