MongoDB升级操作简析
1.首先备份数据到另一台机器上
http://www.mongodb.org/display/DOCS/Backups#Backups-Mongodump
上面描述了几种备份的情况。
服务不停备份
服务停止备份
我这次备份只是防止万一,比较简单,可以在服务运行的情况下备份。
[plain]
./mongodump -h IP -d kaimei -o ~/kaimei_bk
上面的命令运行子我自己的电脑上,也安装了mongodb,会从IP地址指定的地方备份kaimei数据库到本地目录~/kaimei_bk
2.安装新的MongoDB server
在服务器上运行下面的命令:
[html]
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz
解压后放到/usr目录下
3.修改启动脚本
改动很小,只是PROGRAM的值修改了一下,从2.0.1->2.0.4.
[plain]
#!/bin/sh
### BEGIN INIT INFO
# Provides: mongodb
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
www.zzzyk.com
. /lib/lsb/init-functions
PROGRAM=/usr/mongodb-linux-x86_64-2.0.4/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`
test -x $PROGRAM || exit 0
case "$1" in
start)
ulimit -n 2000
log_begin_msg "Starting MongoDB server"
$PROGRAM --fork --quiet -journal -maxConns=1900 -rest --logpath /data/db/journal/mongdb.log
log_end_msg 0
;;
stop)
log_begin_msg "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
;;
*)
log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
exit 1 www.zzzyk.com
esac
exit 0
4.启动,测试
service mongodb stop
service mongodb start
重启Server,再检查一下,一切OK.
升级成功。
这些手动操作以后也应该变成脚本来自动执行。
摘自 sheismylife的专栏