1.首先備份資料到另一台機器上
http://www.mongodb.org/display/DOCS/Backups#Backups-Mongodump
上面描述了幾種備份的情況。
服務不停備份
服務停止備份
我這次備份只是防止萬一,比較簡單,可以在服務啟動並執行情況下備份。
mongodump --host IP -d kaimei -o ~/kaimei_bk
上面的命令運行子我自己的電腦上,也安裝了mongodb,會從IP地址指定的地方備份kaimei資料庫到本地目錄~/kaimei_bk
如果有意外,之後可以用下面的命令還原資料庫
mongorestore --host IP -d kaimei ~/kaimei_bk/kaimei
2.安裝新的MongoDB server
在伺服器上運行下面的命令:
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz
解壓後放到/usr目錄下
3.修改啟動指令碼
改動很小,只是PROGRAM的值修改了一下,從2.0.1->2.0.4.
#!/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. /lib/lsb/init-functionsPROGRAM=/usr/mongodb-linux-x86_64-2.0.4/bin/mongodMONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`test -x $PROGRAM || exit 0case "$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" ]; thenkill -15 $MONGOPID fi log_end_msg 0 ;; status) ;; *) log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}" exit 1esacexit 0
4.啟動,測試
service mongodb stop
service mongodb start
重啟Server,再檢查一下,一切OK.
升級成功。
這些手動操作以後也應該變成指令碼來自動執行。