MongoDB必须注意信息

MongoDB必须注意信息

不要使用Kill -9

在关闭进程时, 可以使用pkill killall 但是不能使用kill -9 一旦使用该命令, 可能导致mongo再也起不来了,造成锁文件.

如果不小心使用了Kill -9

到Mongo的data目录下放置数据库文件的地方, 也有可能在其他路径. 查找mongod.lock的锁文件. 删除即可.

错误问题收集

  • 启动错误
今天在Ubuntu中启动mongo
/usr/bin/mongod --dbpath=data --logpath=log/mongo.log --fork
发生错误:
    ERROR: child process failed, exited with error number 100
    虽然子进程启动失败了, 但是日志正常输出了.
    通过查看./log/mongo.log的错误内容
    
    发现一行ERROR:
        mongo ERROR: Insufficient free space for journal files

解决错误:
        在启动命令加上--smallfiles
        /usr/bin/mongod --dbpath=data --logpath=log/mongo.log --smallfiles --fork
        即使用,使用较小的默认文件大小.
        或修改配置文件
        smallfiles = true
        
原因:
    因为journal至少以2G的数量进行增长,当磁盘空间不足时,会报错Insufficient free space for journal files.
        
  • 意外停止导致的启动错误
    比如非法关闭的时候第二次启动mongo.lock文件报lock is not empty错.原因是MongoDB的文件锁防重复启动机制
    主要通过删除锁文件, 使用--repair 启动参数修复.
    --repair参数官方解释
        通过丢弃无效或损坏的数据重新构建数据库和索引,这些数据可能由于意外的系统重新启动或崩溃而出现。
    
    案例:
        rm /安装目录/mongodb/mongo.lock && ./mongod  --repair
    

转载于:https://my.oschina.net/chinaliuhan/blog/3065358

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值