CentOS5.5 に MongoDBのインストール


今年もあと1ヶ月と少しになりました。年をとる毎に1年てほんと早いよねぇーと、すっかり社内でももちきりです。

どうもこんにちは、岩本@サーバー事業部です。

ソリューションぶのo2先輩より、とある案件で使うためサーバーに

「MongoDBをインストールしろ」とのご命令を受けましたので、その時のログです。

MongoDBはコンパイルが必要なく、

# cd /usr/local/src
# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.6.4.tgz
# tar zxvf mongodb-linux-i686-1.6.4.tgz
# mv mongodb-linux-i686-1.6.4 mongodb
# mv mongodb /usr/local

# /usr/local/mongodb/bin/mongod

以上!

って言ったら怒られたので、ここから起動スクリプトの作成。

http://ringio-blog.appspot.com/2010/10/mongodb-startup-script

こちらのサイトを参考にさせていただきました。

lockファイルがあると、うまく起動しない時があるらしく、lockファイルを消す処理を入れました。

# vi /etc/init.d/mongod

#!/bin/sh
#
# chkconfig: – 85 15
# description: MongoDB daemon
#   #
# pidfile: /var/run/mongod.pid
# config: /etc/.conf

# Source function library.
. /etc/rc.d/init.d/functions

# parameter
mongoHome=/usr/local/mongodb
mongod=${mongoHome}/bin/mongod
mongodbpath=/var/mongodb
logfile=/var/log/mongod.log
pidfile=/var/run/mongod.pid
mongoconf=/etc/mongodb.conf

RETVAL=0

start() {
KIND=”MongoDB”

if test -e ${pidfile} ; then
echo “already running”

else
if test -e ${mongodbpath}/mongod.lock ; then
rm -f ${mongodbpath}/mongod.lock
fi

echo -n $”Starting $KIND services: ”

${mongod} –pidfilepath=${pidfile} –dbpath=${mongodbpath} –logappend –logpath=${logfile} –config=${mongoconf} –fork
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch ${mongodbpath}/mongod.lock || RETVAL=1
return $RETVAL
fi
}

stop() {
echo
KIND=”MongoDB”
echo -n $”Shutting down $KIND services: ”
killproc $mongod
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f ${mongodbpath}/mongod.lock ${pidfile}
echo “”
return $RETVAL
}

restart() {
stop
start
}

status() {
KIND=”MongoDB”

if test -e ${pidfile} ; then
echo “mongod is running”
echo “if mongod could not run, please remove pidfile”
else
echo “mongod is not running”
fi
}

case “$1″ in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
*)
echo $”Usage: $0 {start|stop|status|restart}”
exit 2
esac

exit $?

さらに、認証の設定

# vi /etc/mongodb.conf

noauth = false
auth = true

DBユーザーの作成

# mongo
> use admin
> db.addUser(“username”, “password”)

ユーザー認証の確認

# mongo
> db.auth(“username”, “password”)

以上。これで、o2氏にもご納得いただけたかと。

変なところがあれば、ご指摘頂けると幸いです。

  1. No comments yet.
(will not be published)

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)