春节前刚为公司架设消息推送服务器时,安装的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中查看
MongoDB从2.4.9升级到2.6.0记录及PHP的mongo扩展从1.4.5升级到1.5.1,布布扣,bubuko.com