日期:2014-05-16  浏览次数:20497 次

Linux中装配MongoDB

转自http://www.aiyiweb.com/database/1491030.html

Linux :Red Hat 4.4.7-3

MongoDB:mongodb-linux-x86_64-2.5.4.tgz

?

下载好MongoDB对应版本,解压缩

tar -zxvf?mongodb-linux-x86_64-2.5.4.tgz

?

把解压缩的目录拷贝到/usr/local 目录下

cp -r?mongodb-linux-x86_64-2.5.4 /usr/local/mongodb

?

在/usr/local/mongodb/下,建立data文件夹与log文件夹,用来存数据与log

?

在bin文件夹下新建个mongodb.conf配置文件,用来配置mongodb,内容如下

port=27017
dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/log/mongodb.log  
fork = true

?fork:后台守护进程模式运行

?

启动mongodb

?./mongod --config mongodb.conf --nojournal

?

--nojournal:这个参数可以指定mongodb在启动时候关闭journal模式。

64位的mongodb2.0以上版本,会默认开启journal模式。在第一次启动的时候会在data文件夹下创建3G的journal文件,用来保存写入记录等,为了防止mongodb意外崩溃时候数据不一致,在生产中是非常必须的。但是我是在开发机上试用Mongodb,觉得浪费空间,就关了。

参考:http://docs.mongodb.org/manual/tutorial/manage-journaling/

?

直接启动可能会遇到如下错误

[rainyluo@localhost bin]$ ./mongod --nojournal -f mongodb.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 13151
ERROR: child process failed, exited with error number 1

?一般是权限问题,sudo启动就好了。

?成功启动后如下:

?

about to fork child process, waiting until server is ready for connections.
forked process: 13216
child process started successfully, parent exiting

?

?

在bin目录中./mongo就可以进入mongo命令控制台了。

?

想结束mongodb,可以killall mongod,或者./mongo在控制台中,use admin ?,然后db.shutdownServer()来结束mongodb服务器。直接kill -9会使mongo非正常退出,可能会造成数据损坏问题。