[Linux]redis5.0.x升级至7.x完整操作流程

发布于:2025-02-11 ⋅ 阅读:(98) ⋅ 点赞:(0)

1. 从官网下载最新版redis:

官网地址:https://redis.io/download
官网
注:下载需要的登录,如果选择使用github账号登录,那么需要提前在github账号中取消勾选“Keep my email addresses private”(隐藏我的邮箱地址),否则会出现如下提示信息:
github登录提示
下载完成后会得到一个tar.gz后缀名的文件,如下图。
在这里插入图片描述

2. 将旧版redis进行停止与备份

2.1 停止redis服务端

cd ~/redis/bin;
./stop-redis.sh;

注:这里的stop-redis.sh是事先自行编写的停止脚本,如果不存在该脚本,可以进入redis-cli程序所在目录,输入如下命令:

./redis-cli -p <端口号> -a <密码> shutdown;

例如:

./redis-cli -p 6379-a 123456 shutdown;

2.2 备份旧版redis

cd;
cp -a redis redis_old;

注:这里假设redis原目录在家目录的redis目录下,请根据实际情况做调整。

3. 上传至服务器并编译

3.1 使用ftp工具将压缩包上传至服务器用户家目录

3.2 解压压缩包

tar -xzvf redis-7.2.5.tar.gz

解压后会在家目录下生成一个名为redis-7.2.5的目录,其中存放了redis的源码。

3.4 进入解压后的目录进行编译

cd redis-7.2.5

make

编译成功后,会提示编译后的文件存放在redis-7.2.5的src目录下。
![编译成功](https://i-blog.csdnimg.cn/direct/b31ab3d28487496483e7d3a2504c28c9.png在这里插入图片描述

注:redis源码目录中不包含configure脚本,因此无法直接通过参数指定安装路径。但是这并不影响我们接下来的操作。
src目录下的,有编译后的脚本,以及很多编译过程中生成的.o、.c文件。
在这里插入图片描述

3.5 将src目录中的可执行文件拷贝到redis目录,覆盖旧版redis可执行文件

3.5.1 筛选出src目录中的可执行文件

 ls -l | grep '\-rwx'

在这里插入图片描述

3.5.2 将筛选出来的文件复制到旧版redis可执行文件所在目录

ll | grep '\-rwx' | awk '{ print $9 }' | xargs -I {} cp {} ~/redis/sbin;

3.5.3 去原redis目录检查复制情况

cd ~/redis/sbin;
ls -l;

在这里插入图片描述
根据文件更新时间判断,文件均已完成替换。

4. 检查redis版本

cd ~/redis/sbin
./redis-cli --version;
./redis-server --version;

在这里插入图片描述
显示版本号均为7.2.5。

5. 重新启动redis-server

cd bin;
./start-redis.sh;

注意:如果存在redis主从或者集群,则需要将redis-server全部停止后,待全部更新完毕,再逐个启动redis-server。
start-server.sh为事先写好的redis启动脚本。如果不存在该脚本,也可通过redis-server程序启动脚本。

cd ~/redis/bin/;
./redis-server <conf文件全路径>;

6. 通过日志检查启动情况

如果redis版本差别太大,有可能对持久化文件的读写会出现问题。
处理方式是全停redis-server,然后将持久化文件(后缀为*.aop,*.rdp)全部清除后,再重启应用。
成功运行时在日志中可见到success字样,并无报错信息,如下:
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到