MongoDB在Linux下的安装

01/19/2013

1.下载mongodb的linux版本(注意32位和64位的区别),下载地址:http://www.mongodb.org/downloads

2.将下载的mongodb安装文件mongodb-linux-i686-1.6.5.tgz放到/usr/local/下

3.解压tar -zxvf mongodb-linux-i686-1.6.5.tgz

重命名mv mongodb-linux-i686-1.6.5.tgz mongodb

4,创建数据库文件目录,默认为/data/db,我把数据库文件目录放在当前文件夹下,mkdir -p /data/db,创建日志目录mkdir -p /data/log/mongodb.log

5.启动服务( 在MongoDB安装目录下的bin下使用mongod启动MongoDB)
 cd /usr/local/mongodb/bin
 ./mongod -dbpath=/data/db --logpath=/data/log/mongodb.log --logappend&

bin下有若干文件:mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。

6,启动客户端shell测试
[root@localhost bin]# ./mongo
MongoDB shell version: 1.6.5
connecting to: test
> db.foo.save({a:1})
> db.foo.find()
{ “_id” : ObjectId(“4d292a457e289d5d90dc6f33”), “a” : 1 }

7.额外工作一

注意,上述我们启动MongoDB都是手动使用mongod来启动,这样关闭计算机后,下次再进来它又没启动了,所以还得手动启动,因此,为避免这种繁琐的工作,可以把mongod放到服务自启动项中,这样计算机一开启mongod服务也就启动了。

编写一个sh脚本用于启动mongo,再加入/etc/rc.local保存即可

auto_start_mongo.sh

#!/bin/bash

##first to remove mongod.lock,this file will make mongodb can’t start
lockFilePath=/data/db/mongod.lock
if [ -f $lockFilePath ] ; then
rm -f $lockFilePath
fi

##Second to start mongod
 nohup /usr/local/mongodb/bin/mongod --dbpath=/data/db --logpath=/da
ta/log/mongodb.log --rest >/data/log/mongodb.log 2>&1 &

8.额外工作二
脚本启动关闭mongodb

## start-mongod.sh

MONGODIR = /usr/local/mongodb
MONGOD = $MONGODIR /bin/mongod
MONGO = $MONGODIR /bin/mongo
DBDIR = /data/db
LOGPATH = /data/log /mongodb.log
# mongod will print its pid, so store it in out.tmp, then
# print it using awk to mongod.pid

 $MONGOD --dbpath $DBDIR --fork --logpath $LOGPATH --logappend > out.tmp
 awk 'NR == 2 { print $3 }' < out.tmp > mongod.pid

sleep 3
$MONGO < onstart.js

## in onstart.js

use admin;
db.runCommand ( “logRotate” ) ;

## stop-mongod.sh
kill -15 ` cat $mongod .pid `

尊重他人劳动成果,转载请标明出处,谢谢