MongoDB常见问题
讨论QQ:1586558083
1. ERROR: child process failed, exited with 48
问题:
启动mongodb的时候,发现起不来,报错:child process failed, exited with error number 48然后先去/var/log/mongo/mongod.log 查看启动的日志
可能原因:
应该是没有正常关闭mongodb引起的,比如直接 kill -9
解决方法:
1.找到mongod.lock文件,并删除mongod.lock
2.以修复方式启动mongodb
/usr/bin/mongod -f /etc/mongod.conf --repair
3.然后接着在启动一次
/usr/bin/mongod -f /etc/mongod.conf --auth
4.查看进程是否运行
ps aux|grep mongo
正确关闭mongodb的方法
mongod --shutdown --dbpath /root/soft/mongodb5.0.5/data/db
warning:千万不能使用kill -9
,因为MongoDB使用mmap方式进行数据文件管理,也就是说写操作基本是在内存中进行,写操作会被每隔60秒(syncdelay设定)的flush到磁盘里。如果在这60秒内flush处于停止事情我们进行kill -9那么从上次flush之后的写入数据将会全部丢失。
如果在flush操作进行时执行kill -9则会造成文件混乱,可能导致数据全丢了,启动时加了repair也无法恢复.
2. Cannot assign requested address
报错
{"t":{"$date":"2021-12-26T22:42:43.309-05:00"},"s":"E", "c":"CONTROL", "id":20568, "ctx":"initandlisten","msg":"Error setting up listener","attr":{"error":{"code":9001,"codeName":"SocketException","errmsg":"Cannot assign requested address"}}}
最后发现是自己的ip配置错了。
- bindIP应该是主机的ip地址或主机名。
- mongod不能绑定其他主机的ip地址。
- 这应该是每个主机的相关部分。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用perf跟踪.NET程序的mmap泄露
· 日常问题排查-空闲一段时间再请求就超时
· Java虚拟机代码是如何一步一步变复杂且难以理解的?
· 领域驱动的事实与谬误 一 DDD 与 MVC
· SQL Server 2025 中的改进
· 日常问题排查-空闲一段时间再请求就超时
· C# 14 新增功能一览,你觉得实用吗?
· 揭秘 AI 工具的系统提示词「GitHub 热点速览」
· MySQL同步ES的6种方案!
· 解密AI知识库