mongodump工具备份所有数据库,确保数据安全。mongodump --out /path/to/backupmongod --version确认当前MongoDB版本,明确需升级的目标版本(如3.2→3.4→3.6或4.x→5.x)。升级前需停止正在运行的MongoDB服务,避免数据损坏。
命令示例:sudo systemctl stop mongod
若通过yum/dnf包管理器安装旧版本,建议先卸载以清理残留文件。
命令示例:
sudo yum remove mongodb-org # CentOS 7
sudo dnf remove mongodb-org # CentOS 8
若为手动安装(如tgz包),无需卸载,直接覆盖即可。
方式一:使用包管理器(推荐,便于后续管理)
① 添加MongoDB官方YUM仓库:创建/etc/yum.repos.d/mongodb-org.repo文件,内容根据CentOS版本调整(以CentOS 7为例):
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
② 更新缓存并安装:
sudo yum update
sudo yum install -y mongodb-org
方式二:手动下载安装包
① 从MongoDB官网下载对应CentOS版本的安装包(如mongodb-linux-x86_64-rhel70-5.0.10.tgz):
命令示例:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.10.tgz
② 解压并移动至目标目录:
tar -zxvf mongodb-linux-x86_64-rhel70-5.0.10.tgz
sudo mv mongodb-linux-x86_64-rhel70-5.0.10 /usr/local/mongodb
③ 创建符号链接(可选,方便全局调用):
sudo ln -s /usr/local/mongodb/bin/mongod /usr/bin/mongod
sudo ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo
/etc/mongod.conf)复制到新版本的配置目录(如/usr/local/mongodb/mongod.conf),避免重新配置。bindIp、port、security.authorization等),确保兼容性。sudo systemctl start mongod;sudo /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongod.conf。sudo systemctl enable mongoddb.version(),确认输出为目标版本。若升级前备份了数据,可使用mongorestore恢复。
命令示例:mongorestore /path/to/backup
确认新版本运行正常后,删除旧版本文件(如手动安装的旧二进制文件、旧配置文件等)。
命令示例:
sudo rm -rf /usr/local/old_mongodb_version # 手动安装的旧目录
sudo rm -rf /etc/mongod.conf.bak # 旧配置文件备份
db.adminCommand({setFeatureCompatibilityVersion: "5.0"})
/var/log/mongodb/mongod.log),确保无异常。