温馨提示×

centos mongodb升级方法

小樊
45
2025-09-30 13:33:32
栏目: 云计算

CentOS环境下MongoDB升级方法

一、升级前的准备工作

  1. 备份数据:升级前务必备份所有数据库,防止数据丢失。使用mongodump命令备份到指定目录:
    mongodump --out /path/to/backup
    备份完成后,建议验证备份文件的完整性。
  2. 检查兼容性:查阅MongoDB官方文档,确认新版本与CentOS版本(如CentOS 7/8)、现有配置(如mongod.conf中的storage.enginesecurity.authorization)及应用程序驱动的兼容性。
  3. 停止MongoDB服务:升级过程中需停止服务以避免数据损坏:
    sudo systemctl stop mongod

二、方法一:使用包管理器升级(推荐,适用于官方YUM仓库用户)

1. 卸载旧版本

使用yumdnf卸载当前安装的mongodb-org包(若通过官方仓库安装):
sudo yum remove mongodb-orgsudo dnf remove mongodb-org

2. 添加官方YUM仓库

根据CentOS版本创建对应的仓库文件(如/etc/yum.repos.d/mongodb-org.repo):

  • CentOS 7
    [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc 
  • CentOS 8
    [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc 

    注:替换4.4为目标版本号(如6.0),确保仓库地址与CentOS版本匹配。

3. 安装新版本

更新YUM缓存并安装指定版本的MongoDB:
sudo yum update
sudo yum install -y mongodb-org
安装完成后,包管理器会自动处理依赖关系。

4. 启动服务并验证

启动MongoDB服务并设置为开机自启:
sudo systemctl start mongod
sudo systemctl enable mongod
通过以下命令验证版本:
mongo --eval 'db.version()'
若输出新版本号,则升级成功。

三、方法二:手动下载二进制包升级(适用于自定义安装路径用户)

1. 下载新版本二进制包

访问MongoDB官方下载页面,选择适合CentOS的Linux x86_64版本(如mongodb-linux-x86_64-rhel70-6.0.0.tgz),使用wget下载:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.0.tgz

注:rhel70表示兼容CentOS 7,rhel80表示兼容CentOS 8,需根据系统版本调整。

2. 解压并移动到安装目录

解压下载的压缩包并移动到/usr/local/mongodb(或其他目标目录):
tar -zxvf mongodb-linux-x86_64-rhel70-6.0.0.tgz
sudo mv mongodb-linux-x86_64-rhel70-6.0.0 /usr/local/mongodb

3. 配置新版本

复制旧版本的配置文件(通常位于/etc/mongod.conf)到新版本目录,并修改必要参数(如dbPathlogPath):
sudo cp /etc/mongod.conf /usr/local/mongodb/mongod.conf
编辑配置文件,确保与新版本兼容(如调整storage.enginewiredTiger,若旧版本未使用)。

4. 启动新版本并验证

使用新版本的二进制文件启动MongoDB,指定配置文件路径:
sudo /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongod.conf
连接MongoDB shell验证版本:
mongo --eval 'db.version()'
若输出新版本号,则升级成功。

四、升级后的清理与优化

  1. 清理旧版本文件:确认新版本运行正常后,删除旧版本的二进制文件、数据目录及日志文件(谨慎操作,避免误删):
    sudo rm -rf /usr/bin/mongod /usr/bin/mongo /var/lib/mongo /var/log/mongodb
  2. 更新环境变量:若新版本安装在非默认路径(如/usr/local/mongodb),需更新PATH环境变量,使系统能识别新版本的命令:
    echo 'export PATH=/usr/local/mongodb/bin:$PATH' | sudo tee -a /etc/profile.d/mongodb.sh
    source /etc/profile.d/mongodb.sh
  3. 恢复数据(若使用方法二):若升级过程中未直接迁移数据,可使用mongorestore恢复备份的数据:
    mongorestore /path/to/backup

五、注意事项

  • 版本升级顺序:MongoDB不支持跨大版本直接升级(如从4.0直接升级到6.0),需按小版本逐步升级(如4.0→4.2→4.4→5.0→6.0),避免兼容性问题。
  • 配置文件兼容性:新版本可能移除或修改部分配置项,升级前需对比新旧版本的mongod.conf文档,调整不兼容的参数。
  • 回滚方案:升级前记录旧版本的配置文件、数据目录路径及安装包信息,若新版本出现问题,可快速回滚到旧版本。

0