Centos7 二进制方式安装的mysql5.7.30升级为5.7.38 解决CVE-2021-22946漏洞

针对发现的高危CVE-2021-22946漏洞和多个中低危漏洞,本文档详细介绍了如何在Linux服务器上对解压版MySQL 5.7.30进行安全升级。升级前需备份数据和配置,遵循官方支持的升级路径,避免数据丢失。升级步骤包括停止服务、删除旧版本、解压新版本、移动覆盖文件、启动服务以及设置开机启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

由于进行安全扫描,发现mysql存在漏洞,高危漏洞编号为(CVE-2021-22946),此外还有多个中危,低危漏洞,目前mysql版本为5.7.30。

二、升级前须知

1.linux服务器中的mysql均为解压版,而非rpm安装包版。

2.官方支持的升级路径

同一个大版本中的小版本升级,比如5.7.30到5.7.38。
跨版本升级,但只支持跨一个版本升级,比如5.5到5.6,5.6到5.7。
不支持跨版本的直接升级,比如直接从5.5到5.7,可以先从5.5升级到5.6,再从5.6升级到5.7。
3.解压版的mysql升级,千万切记不要执行安装操作,这样会导致数据库文件全部丢失。

三、mysql下载 

        mysql官网下载

四、具体步骤

4.1备份

查看目前版本:mysql -V

4.1.1备份数据文件和配置文件(可以不备份,此处以防万一)

查看数据目录:

cat /etc/my.cnf | grep datadir

备份:

tar -zcvf mysql.bak.tar.gz /usr/local/mysql/data

cp /etc/my.cnf /etc/my.cnf.bak

 4.2升级

4.2.1关闭当前mysql服务

service mysql stop

直到下面这行命令没有返回数据,开始升级数据库

ps -ef |grep mysql | grep -v color

4.2.2删除安装位置的mysql

找到对应的安装目录(basedir)并删除:

rm -rf /usr/local/mysql

注:如果数据文件夹/日志等和basedir在同一目录下则数据文件夹,日志文件夹等非官方解压文件不删除!不要执行上面命令,需要自己到basedir里单个删除需要替换的文件夹!!

4.2.3解压并移动覆盖老版本文件,并重新授权

tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.38-linux-glibc2.12-x86_64/** /usr/local/mysql

chown -R mysql.mysql /usr/local/mysql/

4.3启动

4.3.1 添加开机启动mysql服务并启动mysql

重新添加开机启动(可以跳过,此处防止2个版本启动脚本不一致):

rm -rf /etc/init.d/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

4.3.2 启动

service mysql start

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值