1.检查mongodb的状态
[root@mongodb]# ps -ef |grep mong
root 100116 1 0 11:28 ? 00:00:35 /mysqlbackup/mongodb/bin/mongod -f /mysqlbackup/mongodb/mongod.conf
root 116528 113841 0 13:56 pts/1 00:00:00 grep --color=auto mong
2.关机
[root@mongodb]# /mysqlbackup/mongodb/bin/mongod --shutdown -f /mysqlbackup/mongodb/mongod.conf
killing process with pid: 100116
[root@mongodb]# ps -ef |grep mong
root 116702 116664 0 13:56 pts/2 00:00:00 tail -100f /var/log/mongodb/mongodb.log
root 116728 113841 0 13:57 pts/1 00:00:00 grep --color=auto mong
3.查看关机日志
2024-01-05T13:56:53.560+0800 I CONTROL [main] ***** SERVER RESTARTED *****
2024-01-05T13:56:53.563+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2024-01-05T13:56:53.573+0800 I CONTROL [signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends
2024-01-05T13:56:53.573+0800 I NETWORK [signalProcessingThread] shutdown: going to close listening sockets...
2024-01-05T13:56:53.573+0800 I NETWORK [listener] removing socket file: /tmp/mongodb-27018.sock
2024-01-05T13:56:53.574+0800 I - [signalProcessingThread] Stopping further Flow Control ticket acquisitions.
2024-01-05T13:56:53.574+0800 I CONTROL [signalProcessingThread] Shutting down free monitoring
2024-01-05T13:56:53.574+0800 I FTDC [signalProcessingThread] Shutting down full-time diagnostic data capture
2024-01-05T13:56:53.583+0800 I STORAGE [signalProcessingThread] Deregistering all the collections
2024-01-05T13:56:53.583+0800 I STORAGE [WTOplogJournalThread] Oplog journal thread loop shutting down
2024-01-05T13:56:53.583+0800 I STORAGE [signalProcessingThread] Timestamp monitor shutting down
2024-01-05T13:56:53.583+0800 I STORAGE [signalProcessingThread] WiredTigerKVEngine shutting down
2024-01-05T13:56:53.583+0800 I STORAGE [signalProcessingThread] Shutting down session sweeper thread
2024-01-05T13:56:53.583+0800 I STORAGE [signalProcessingThread] Finished shutting down session sweeper thread
2024-01-05T13:56:53.583+0800 I STORAGE [signalProcessingThread] Shutting down journal flusher thread
2024-01-05T13:56:53.632+0800 I STORAGE [signalProcessingThread] Finished shutting down journal flusher thread
2024-01-05T13:56:53.632+0800 I STORAGE [signalProcessingThread] Shutting down checkpoint thread
2024-01-05T13:56:53.632+0800 I STORAGE [signalProcessingThread] Finished shutting down checkpoint thread
2024-01-05T13:56:53.661+0800 I STORAGE [signalProcessingThread] shutdown: removing fs lock...
2024-01-05T13:56:53.662+0800 I CONTROL [signalProcessingThread] now exiting
2024-01-05T13:56:53.662+0800 I CONTROL [signalProcessingThread] shutting down with code:0
4.总结
mongodb的关机也是非常的简单,和开机命令相似,只不过在mongod命令后加了一个参数 :--shutdown ,这样就正常关闭mongodb了。
可以输出日志可知:关机流程总结如下:
(1)自动禁用TLS
(2)获取到信号15,中断信息。
(3)关闭监听的socket,不让外部连接。
(4)停止进一步的流量控制票证采集
(5)关闭free监控
(6)关闭全程的诊断数据采集任务。
(7)注销所有的集合
(8)操作日志线程关闭
(9)时间戳监控关闭
(10)WiredTigerKVEngine存储引擎关闭
(11)关闭会话清理线程
(12)关闭日志刷新线程
(13)关闭检查点线程
(14)移除文件系统锁文件
(15)退出,关机完成。
当然也可以直接kill 命令关闭数据库。这种类似宕机,类似oracle abort,容易造成不一致。