CentOS 7 下 Redis 从 5.0 升级至 7.4.3 全流程实践
目录
- 前言
- 1 查看 Redis 运行情况与配置
- 1.1 查看 Redis 是否正在运行
- 1.2 连接 Redis 服务并获取配置信息
- 1.3 查找 redis.conf 配置文件位置
- 2 关闭旧版本 Redis 实例
- 2.1 使用客户端命令关闭 Redis
- 2.2 验证 Redis 是否完全关闭
- 3 升级 GCC 编译环境
- 3.1 检查当前 GCC 版本
- 3.2 安装所需工具及配置软件仓库
- 3.3 安装并启用 GCC 9 工具集
- 4 编译安装 Redis 7.4.3
- 5 配置文件迁移与处理
- 5.1 备份默认配置文件
- 5.2 替换为原配置文件
- 5.3 根据需要修改配置
- 6 启动 Redis 7.4.3 并验证
- 6.1 启动 Redis 服务
- 6.2 查看启动状态
- 6.3 查看 Redis 当前版本
- 结语
前言
Redis 是目前使用最广泛的高性能键值数据库之一,广泛应用于缓存、消息队列、实时计数等场景。随着 Redis 版本的不断更新,带来了更高的性能、更丰富的功能和更强的安全性。然而,实际生产环境中,我们常常因为兼容性等原因停留在较旧版本。本文将详细介绍在 CentOS 7 环境下,将 Redis 从 5.0 升级到 7.4.3 的完整流程,涵盖运行状态查看、配置文件处理、GCC 编译环境升级、源码编译安装、以及新版本 Redis 启动验证等步骤,旨在为有类似需求的运维或开发人员提供完整参考。
1 查看 Redis 运行情况与配置
在开始升级之前,首先需要确认旧版本 Redis 的运行状态及其配置信息,确保后续迁移和升级能够顺利进行。
1.1 查看 Redis 是否正在运行
可以使用 ps
命令配合 grep
查看 Redis 是否已经启动:
ps -ef | grep redis
如果 Redis 正在运行,会显示 redis-server 相关进程信息。
1.2 连接 Redis 服务并获取配置信息
Redis 通常配置了密码和自定义端口,因此需要使用 redis-cli
工具连接:
./redis-cli -p 2021
127.0.0.1:2021> AUTH "330Ue1Kz9WtjcR2h"
OK
127.0.0.1:2021> CONFIG GET *config-file*
通过 CONFIG GET
命令,可以查看 Redis 当前所使用的配置文件路径,以便后续备份和迁移使用。
1.3 查找 redis.conf 配置文件位置
如果无法通过命令查找到配置文件路径,也可以使用 Linux 的 find
命令遍历系统:
find / -name "redis.conf" 2>/dev/null
确认原 Redis 配置文件位置,是升级过程中一个重要环节。
2 关闭旧版本 Redis 实例
在准备部署新版本 Redis 之前,需要先停止旧版本服务,释放端口和资源。
2.1 使用客户端命令关闭 Redis
若 Redis 没有设置密码或已完成认证,可以直接使用 SHUTDOWN
命令关闭:
redis-cli SHUTDOWN
若设置了密码,需要使用 -a
参数进行认证:
redis-cli -a 330Ue1Kz9WtjcR2h SHUTDOWN
若 Redis 使用了自定义端口:
redis-cli -a 330Ue1Kz9WtjcR2h -p 2021 SHUTDOWN
2.2 验证 Redis 是否完全关闭
使用以下命令确认 redis-server 进程是否已退出:
ps aux | grep redis-server
若未显示任何 redis-server 相关信息,说明 Redis 已成功关闭。
3 升级 GCC 编译环境
Redis 7.4.3 源码编译需要 GCC 版本至少为 5,而 CentOS 7 默认提供的 GCC 版本往往较低,因此需手动升级。
3.1 检查当前 GCC 版本
通过命令检查:
gcc -v
如果已是 5.0 或以上版本,可以跳过此步骤;否则继续下列操作。
3.2 安装所需工具及配置软件仓库
安装 yum-utils 工具:
yum install -y yum-utils
编辑 /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
和 CentOS-SCLo-scl.repo
,注释掉 mirrorlist
并添加 baseurl
:
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
enabled=1
gpgcheck=0
相同处理 centos-sclo-sclo
段。
3.3 安装并启用 GCC 9 工具集
清理缓存并安装开发工具:
yum clean all
yum makecache
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
启用新版 GCC(当前 shell 有效):
scl enable devtoolset-9 bash
设置为永久生效:
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
4 编译安装 Redis 7.4.3
解压源码包并编译
将下载好的 Redis 安装包解压:
tar -zxvf redis-7.4.3.tar.gz
cd redis-7.4.3
执行编译和安装:
make
make install
此时,redis-server
和 redis-cli
等执行文件会被安装到系统默认路径中(如 /usr/local/bin
)。
5 配置文件迁移与处理
为了兼容原有配置和数据策略,建议复用旧版本 Redis 的配置文件。
5.1 备份默认配置文件
进入 Redis 源码目录:
cd /mnt/redis-7.4.3
cp redis.conf redis.conf_bak
5.2 替换为原配置文件
删除新生成的默认配置文件:
rm redis.conf
复制旧版本 Redis 的配置文件到新目录:
cp /mnt/redis-5.0.3/redis.conf /mnt/redis-7.4.3/redis.conf
5.3 根据需要修改配置
建议检查以下配置项是否适用于新版本:
bind
和port
是否冲突;requirepass
密码是否仍需要;supervised
、daemonize
等守护进程相关参数;- 日志和数据目录是否正确。
6 启动 Redis 7.4.3 并验证
6.1 启动 Redis 服务
使用配置文件启动 Redis:
/mnt/redis-7.4.3/src/redis-server /mnt/redis-7.4.3/redis.conf
6.2 查看启动状态
通过进程查看命令验证 Redis 是否已成功启动:
ps -ef | grep redis
若输出中包含如下信息,则表示启动成功:
/mnt/redis-7.4.3/src/redis-server *:2021
6.3 查看 Redis 当前版本
执行以下命令,查看 Redis 版本号,确保为 7.4.3:
/mnt/redis-7.4.3/src/redis-server --version
输出示例:
Redis server v=7.4.3 sha=00000000:1 malloc=jemalloc-5.3.0 bits=64 build=828c83d1e8260964
结语
通过以上步骤,我们完成了在 CentOS 7 系统中将 Redis 从 5.0 升级至 7.4.3 的全过程。这一过程不仅涉及软件本身的编译与安装,还包括环境依赖(如 GCC)、配置文件兼容、旧实例安全关闭等关键环节。建议在正式环境升级前,先在测试环境中进行充分验证,并备份好相关配置与数据文件,以确保平稳过渡。
Redis 7.x 在性能、安全、模块化支持等方面相比旧版本有显著提升,建议逐步完成升级,以获得更好的运维体验与系统稳定性。