春節前剛為公司架設訊息推送伺服器時,安裝的MongoDB服務版本為2.4.9,2014-04-08日MongoDB2.6.0發布,做了不少的改進,現在準備升級到2.6.0最新版本,升級過程記錄如下,供大家參考。
一、升級前檢測
使用2.6.0的db.upgradeCheckAllDBs()檢測是否相容原先2.4.9版本的資料
# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tgz
# tar xzvf mongodb-linux-x86_64-2.6.0.tgz
# mv mongodb-linux-x86_64-2.6.0 /usr/local/mongodb26
# /usr/local/mongodb26/bin/mongo
>db = connect("127.0.0.1:27017/yourdatabase")
> use admin
>db.upgradeCheckAllDBs() //官方的建議是只有此步檢測通過後才建議從2.4升級到2.6,需要等待段時間
二、如果db.upgradeCheckAllDBs()檢測通過,那就準備升級吧
1、停止原先的服務
# /usr/local/mongodb/bin/mongo
>use admin
>db.shutdownServer()
>exit
2、重新命名目錄
原先mongodb的安裝目錄為/usr/local/mongodb,純粹為了升級後還用此目錄
# cd /usr/local
# mv mongodb mongodb24
# mv mongodb26 mongodb
3、啟動MongoDB2.6.0
#ulimit -n 2500
# numactl --interleave=all /usr/local/mongodb/bin/mongod --dbpath=/data/mongodb/data/ --logpath=/data/mongodb/logs/mongodb.log --fork --logappend --port=27017 --maxConns=2000 --bind_ip=127.0.0.1 --nohttpinterface
查看mongodb進程
# ps aux | grep mongodb
進入mongo shell
MongoDB升級完成再,接下來再升級php的mongo擴充
# wget http://pecl.php.net/get/mongo-1.5.1.tgz
# tar zxvf mongo-1.5.1.tgz
# cd mongo-1.5.1
# /usr/local/php559/bin/phpize
# ./configure --with-php-config=/usr/local/php559/bin/php-config
# make && make install
php-fpm 重啟:
kill -USR2 `cat /usr/local/php559/var/run/php-fpm.pid`
到phpinfo中查看