当前位置: 首页 > article >正文

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

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字样,并无报错信息,如下:
在这里插入图片描述


http://www.kler.cn/a/469135.html

相关文章:

  • 1/7距离放假一周加1
  • 【HarmonyOS 5.0】从0到1开发购物应用App(二):登录页对接口
  • unity学习8:unity的基础操作 和对应shortcut
  • 新型大数据架构之湖仓一体(Lakehouse)架构特性说明——Lakehouse 架构(一)
  • 服务器Ubuntu22.04系统下 ollama的详细部署安装和搭配open_webui使用
  • 谈一谈对事件循环的理解
  • 使用MySQL APT源在Linux上安装MySQL
  • spring mvc源码学习笔记之五
  • 【华为OD-E卷 - 九宫格按键输入 100分(python、java、c++、js、c)】
  • Linux系统常用命令详解
  • 怎么找回电脑所有连接过的WiFi密码
  • 【论文阅读笔记】LTX-Video: Realtime Video Latent Diffusion
  • 如何让编码更加高效专注?——程序员编程选明基 RD280U显示器
  • Django Swagger文档库drf-spectacular
  • 【Rust 知识点杂记】
  • 微信小程序提示 miniprogram-recycle-view 引入失败
  • leetcode hot 100 最长递增子序列
  • 智能体语言 Shire 1.2 发布:自定义多文件编辑、Sketch 视图、流式 diff、智能上下文感知...
  • AI生成PPT,效率与创意的双重升级
  • 【开源免费】基于SpringBoot+Vue.JS精品在线试题库系统(JAVA毕业设计)
  • 开发小技巧分享 01:JSON解析工具
  • 入手51单片机的学习路径
  • Linux中的tcpdump抓包命令详解:抓取TCP和UDP数据包并按小时输出文件
  • 【MyBatis-Plus 进阶功能】开发中常用场景剖析
  • C++之STL
  • DeepSeek v3为何爆火?如何用其集成Milvus搭建RAG?