MongoDB升级
目录
注意事项
升级之前的版本为3.4.7,由于客户扫描发现漏洞,因此,需要对mongodb进行升级。根据漏洞扫描的结果,我们仅需升级到4.2.22即可。如果后续还有漏洞扫出,则需要升级到更高的版本。
安装过程中,无论是单机模式还是集群模式,如果升级到某个版本之后,服务起不来,修改配置也无效,则可以卸载当前版本,然后再重新安装上一个版本。前提是做好数据备份!!!
安装包
所需安装包如下:
-
mongodb-org-server-3.4.24-1.el7.x86_64.rpm
-
mongodb-org-server-3.6.23-1.el7.x86_64.rpm
-
mongodb-org-server-4.0.28-1.el7.x86_64.rpm
-
mongodb-org-server-4.2.22-1.el7.x86_64.rpm
-
mongodb-org-shell-4.2.22-1.el7.x86_64.rpm
-
mongodb-org-tools-4.2.22-1.el7.x86_64.rpm
获取地址:mongodb下载包
单机模式
1. 备份数据
cp /var/lib/mongo /var/lib/mongo_bk
2. 升级到3.4.24
rpm -U mongodb-org-server-3.4.24-1.el7.x86_64.rpm
如果升级失败,则可以考虑将3.4.7版本的mongodb直接卸掉
rpm -qa|grep mongo
查出当前安装版本,然后进行卸载
rpm -e mongodb-xx-xx-xx.rpm
安装3.4.24
rpm -i mongodb-org-server-3.4.24-1.el7.x86_64.rpm
3. 升级到3.6.23
升级之前,通过mongodb shell,查看版本,如果mongodb-shell被卸载了,则需要先进行安装:
mongodb-org-shell-3.4.24-1.el7.x86_64.rpm
命令行输入mongo,进入mongdb shell模式,然后输入以下命令:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
如果返回的不是"featureCompatibilityVersion":"3.4"版本,则需要修改:
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
执行升级命令:
rpm -U mongodb-org-server-3.6.23-1.el7.x86_64.rpm
升级之后,重启进程,查看是否启动正常
systemctl restart mongod
如果不正常,需要检查/etc/mongod.conf文件,是否配置有误。
启动成功后,修改版本号:
db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
4. 升级到4.0.28
升级过程和第3步一样,先执行命令:
rpm -U mongodb-org-server-4.0.28-1.el7.x86_64.rpm
升级之后,重启进程,查看是否启动正常
systemctl restart mongod
如果不正常,需要检查/etc/mongod.conf文件,是否配置有误。
启动成功,修改版本号:
db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } )
5. 升级到4.2.22
注意:4.0升级到4.2版本,有一个字段不兼容,因此需要先进行检查以及修改之后,才能升级。
可以通过工具或者mongodb shell 检查local数据库下的replset.minvalid表。mongodb shell命令如下:
-
use local
-
show collections
如果replset.minvalid表存在,需要去掉oplogDeleteFromPoint字段的值,mongodb shell的参考命令如下:
-
db.replset.minvalid.update(
-
{ "_id" : ObjectId("62fcbc543bc5d819ac10a57e")}, # _id的值根据实际情况填写
-
{ $unset: { "oplogDeleteFromPoint": ""} }
-
)
上述步骤完成之后,则可以进行升级了。
执行命令:
rpm -U mongodb-org-server-4.2.22-1.el7.x86_64.rpm
升级之后,重启进程,查看是否启动正常
systemctl restart mongod
如果不正常,需要检查/etc/mongod.conf文件,是否配置有误。
启动成功,修改版本号:
db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } )
安装shell、tools等rpm包
-
mongodb-org-shell-4.2.22-1.el7.x86_64.rpm
-
mongodb-org-tools-4.2.22-1.el7.x86_64.rpm
注意对比/etc/mongod.conf的新老文件的变化,然后进行相应的修改。因为新版本的配置有一处变化,最后一行为新增内容:
-
processManagement:
-
fork: true # fork and run in background
-
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
-
timeZoneInfo: /usr/share/zoneinfo #新增内容
集群模式
集群和单机模式的升级基本上一样的,只需要注意升级顺序,先升级备节点,最后升级主节点。
升级完成之后,需要观察各节点的状态是否恢复正常。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgachkf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01