mongodb启动出现问题解决方法。

之前MongoDB启动的时候是蛮正常的,不知道后来启动报错了,就把粘贴出来查询了。最后才知道是由于自己不正常的关闭导致的这个情况。

--摘录:MongoDB非正常关闭后修复记录

mongod没有后台执行,在终端连接非正常断开后,再次执行mongod报错,如下所示:

[[email protected] mongodb]# ./bin/mongod ./bin/mongod --help for help and startup options Thu Nov 17 22:42:49 Thu Nov 17 22:42:49 warning: 32-bit servers don‘t have journaling enabled by default. Please use --journal if you want durability. Thu Nov 17 22:42:49
Thu Nov 17 22:42:49 [initandlisten] MongoDB starting : pid=3257 port=27017 dbpath=/data/db/ 32-bit host=localhost Thu Nov 17 22:42:49 [initandlisten] Thu Nov 17 22:42:49 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes
of data Thu Nov 17 22:42:49 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations Thu Nov 17 22:42:49 [initandlisten] **       with --journal, the limit is lower Thu Nov 17 22:42:49 [initandlisten] Thu Nov 17 22:42:49 [initandlisten] db version v2.0.1, pdfile version 4.5 Thu Nov
17 22:42:49 [initandlisten] git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684 Thu Nov 17 22:42:49 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_41 Thu Nov 17 22:42:49
[initandlisten] options: {} ************** Unclean shutdown detected. Please visit
http://dochub.mongodb.org/core/repair for recovery instructions. ************* Thu Nov 17 22:42:49 [initandlisten] exception in initAndListen: 12596 old lock file, terminating Thu Nov 17 22:42:49
dbexit: Thu Nov 17 22:42:49 [initandlisten] shutdown: going to close listening sockets... Thu Nov 17 22:42:49 [initandlisten] shutdown: going to flush diaglog... Thu Nov 17 22:42:49 [initandlisten] shutdown: going to close sockets... Thu Nov 17 22:42:49 [initandlisten]
shutdown: waiting for fs preallocator... Thu Nov 17 22:42:49 [initandlisten] shutdown: closing all files... Thu Nov 17 22:42:49 [initandlisten] closeAllFiles() finished Thu Nov 17 22:42:49 dbexit: really exiting now

修复方法:

这算是一个Mongod 启动的一个常见错误,非法关闭的时候,lock 文件没有干掉,第二次启动的时候检查到有lock 文件的时候,就报这个错误了。

解决方法:进入 mongod 上一次启动的时候指定的 data 目录  --dbpath=/data/mongodb

删除掉该文件:

rm /data/mongodb/mongo.lock --linux

del /data/mongodb/mongo.lock --windows

再执行:

./mongod  --repair

启动:

/usr/local/src/mongodb-linux-x86_64-2.0.2/bin/mongod --port=27017 --pidfilepath=/var/run/mongod.pid --dbpath=/data/mongodb --directoryperdb --nojournal --noauth

OK,问题解决。

正确关闭mongod 的方法:进入mongo shell

use admin

db.shutdownServer()

也可以按照文档粗暴的杀掉它,它内部应该有KILL信号处理程序。

killall mongod

请不要 kill -9 ,会造成文件数据混乱丢失 repair 也无力回天。

ctrl+c 可以退出mongo的界面 或是ext

时间: 2024-09-28 07:29:09

mongodb启动出现问题解决方法。的相关文章

MySql5.7.12免安装版配置以及服务无法启动问题解决方法

1.解压mysql-5.7.12-win32.zip文件. 2.在解压出来的文件夹中的BIN文件夹加入环境变量. 3.在解压出来的文件夹里建立data文件夹. 4.复制my-default.ini并将复制后的副本改名为my.ini文件,之后对my文件进行修改,将basedir和datadir进行相应的路径赋值. 5.在CMD中,进入建立的data文件夹,然后执行"mysqld  --initialize"进行data文件夹的初始化. 6.CMD进入bin文件夹中,执行"mys

mongodb启动不了解决方法

MONGODB无法启动的解决方法 遇到MongoDB突然无法启动,第一反应是删除mongod.lock.这个文件在MongoDB的数据库目录下,默认是/data/db.这是最常见的问题了,产生原因是MongoDB没有正常结束(比如被kill -9杀掉或是其他意外情况导致中断). 还一些其他情况会导致MongoDB无法启动.本文讨论的无法启动,是指:使用/etc/init.d/mongodb start或是sudo service mongdb start,提示mongodb start/runn

U盘安装Centos后拔除U盘无法启动问题解决方法

U盘安装Centos后拔除U盘无法启动问题解决方法 分类: Hadoop 2014-06-30 15:47 646人阅读 评论(0) 收藏 举报 今天安装CentOS后发现把引导文件安装在U盘上了,所以不插U盘就无法进入CentOS系统,在网上找到这种方法成功摆脱U盘启动,避免重新用U盘做引导盘安装系统,简单省事,所以发个帖,留着以后备用. 1.进入centos后打开终端用root用户进入grub模式 #grub    grub>  find /grub/stage1  Error 15: Fi

Ubuntu遇到Please ensure that adb is correctly located at '...adb.exe' and can be executed 问题解决方法

上次我们在SDK更新的到最新的Android L版本之后,我发现我的ADT和android指定的版本不对应,我的ADT是22版本的,android L需要23版本以上的,版本不对应的话就无法加载这个SDK进去,通过上网查一下说是修改Android SDK目录下tolols目录下libs目录中plugin.prop这个文件,该文件打开一看就很容易知道要修改的是plugin.version=23.0.0这个,把它改成22就可以了,我改之后加载还真的是可以了,但是一个麻烦的问题又混淆我了,在运行项目的

mysql 的常用命令及常见问题解决方法

运行sql C:\Users\Martin>mysql -uroot -pyang cdm_db <d:/cdm_db.sql 运行sql mysql>source /tmp/terminal.sql; mysql忘记密码: mysqladmin -uroot flush-privileges password "newpassword" mysql的select into file命令 SELECT a,b,a+b INTO OUTFILE '/tmp/result

关于C#中Timer定时器的重入问题解决方法

项目中用到了定时器随着服务启动作定时任务,按指定的准点时间定时执行相关操作,但是在指定准点时间内我只想让它执行一次,要避免重入问题的发生. 首先简单介绍一下timer,这里所说的timer是指的System.Timers.timer,顾名思义,就是可以在指定的间隔是引发事件.官方介绍在这里,摘抄如下: Timer 组件是基于服务器的计时器,它使您能够指定在应用程序中引发 Elapsed 事件的周期性间隔.然后可通过处理这个事件来提供常规处理. 例如,假设您有一台关键性服务器,必须每周 7 天.每

【IOS】IOS开发问题解决方法索引(一)

IOS开发问题解决方法索引(一) 1       Xcode工程调试时无法命中断点的问题 若没有勾选LLVM Compiler 1.6 –> CodeGeneration –> Generate Debug Symbols 一项,则程序调试时无法命中断点. 2       Xcode调试时查看变量的几种方法 Xcode如何查看内存中的数据 http://blog.csdn.net/evgd2288/article/details/8995779 Xcode的Debug中查看数据细节的方法 ht

80端口被占用问题解决方法汇集

电脑N久没有换系统了卡的像狗一样,不忍久重新装了系统,像往常一样,装各种软件然后配置各种环境,正常开工.可是在运行Tomcat的时候才发现80端口被占用,找了很多方法未解决,最后还是解决掉了,这就把我试过的所有方法汇集在一块,做个备份. 1.第一反应,通过CMD的命令查找被占用的端口的PID,通过PID查找出具体的进程,最后通过KILL干掉即可.这里面用到的命令包括 >netstat -ano|findstr "80"(查看端口被占用的进程ID) >tasklist|fin

Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法

原文:Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法 一 开发环境:JDK5+Spring3.0.5+Myeclipse6.6+Tomcat6 二 启动报错如下: 1 Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]