温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mongodb关闭方法

发布时间:2020-09-10 21:50:39 来源:网络 阅读:715 作者:stramkismet 栏目:MongoDB数据库

最近再用mongodb做开发,在linux上嘛,习惯性的会使用kill -9 PID来关闭服务。

结果每次关闭再重启mongodb后,mongodb总会自己关闭。看日志也没看出什么来,然后就百度呗。

发现用kill -9杀死mongodb的后果挺严重。

然后去官网逛了一圈,查了一下

MongoDB使用的是内存映射存储引擎:

它会把磁盘IO操作转换成内存操作,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能。

写操作会被每隔60秒(syncdelay设定)的flush到磁盘里。如果在这60秒内flush处于停止事情我们进行kill -9那么从上次flush之后的写入数据将会全部丢失。

如果在flush操作进行时执行kill -9则会造成文件混乱,可能导致数据全丢了。

官方描述:

Sending a KILL signal kill -9 will probably cause damage as mongod will not be able to cleanly exit.  (In such a scenario, run the repairDatabase command.)

幸亏发现的早啊...不然指不定出什么事故

最后查到可以用以下方法关闭mongodb


1、使用killall mongod

2、使用kil  -15 PID

3、在admin用户下执行db.shutdownServer()命令


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI