• MongoDB常见问题


    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地址。
    • 这应该是每个主机的相关部分。
  • 相关阅读:
    String(Java版本)
    前端工程化开发之yeoman、bower、grunt
    前端自动化开发之grunt
    前端模块化开发之seaJs
    浅谈图片蒙版效果-webkit-mask
    div模拟textarea实现高度自增长
    预加载显示图片的艺术
    轻松实现localStorage本地存储
    利用Navigation Timing测量页面加载时间
    利用jstree插件轻松构建树应用
  • 原文地址:https://www.cnblogs.com/steven158/p/15736536.html
Copyright © 2020-2023  润新知