percona mysql 8.0.18升级到8.0.32

前言:本文讲述将 mysql8.0.x 升级到最新版本以修复以下漏洞。 按照本方法升级,配置文件及数据库结构内容依旧存在(为了保险起见还是需要将my.cnf 和 数据库结构导出以防出现问题)。

思路:

1.备份my.cnf 使用 mysqldump导出数据结构文件(注意导出前暂停对数据库的读写业务)

2.准备旧版本rpm包,并提前模拟一遍,以防不测。(可参考我这写这篇文章:centos 离线安装 percona mysql 8.0.18,rpm构建安装思路。_青凯平的博客-CSDN博客

3.下载新版本的基础构建rpm,使用rpm -ivh *.rpm --replacefiles 进行安装(--replacefiles 替换属于其它软件包的文件)

4.安装后进入检查阶段,查看数据库配置是否正常,验证业务是否受阻等。

目录

tips:安装后将修复以下漏洞,创作不易点个赞吧!谢谢。

一、准备工作

 二、开始安装

1.上传至服务器中mysqlupdate文件夹中(注意对照文件大小,核对是否传输完整)。 

​编辑2.查看当前mysql版本,执行如下sql保障数据的完整性。

 3.备份数据库和my.cnf 文件

4.停止数据库,使用rpm -ivh进行安装,注意安装顺序。

5.启动数据库及检查

 三、总结


tips:安装后将修复以下漏洞,创作不易点个赞吧!谢谢。

序号 漏洞名称 风险等级 CVE编号 受影响版本
1 Oracle MySQL Server Server DML 安全漏洞(CVE-2020-14828) [高] CVE-2020-14828  8.0.21 及之前版本存在安全漏洞
2 Oracle MySQL cURL 组件输入验证错误漏洞(CVE-2022-27778) [高] CVE-2022-27778 受影响的受支持版本为 5.7.38 及更早版本和 8.0.29 及更早版本
3 Oracle MySQL Server 输入验证错误漏洞(CVE-2021-22926) [高] CVE-2021-22926 5.7.35 及更早版本、8.0.26 及更早版本
4 Oracle MySQL Server 安全漏洞(CVE-2020-14663) [高] CVE-2020-14663 8.0.20 及更早版本
5 Oracle MySQL Server 安全漏洞(CVE-2020-14678) [高] CVE-2020-14678 8.0.20 及更早版本
6 Oracle MySQL Server 缓冲区溢出漏洞(CVE-2021-3711) [高] CVE-2021-3711 5.7.35 及更早版本、8.0.26 及更早版本
7 Oracle MySQL Server 安全漏洞(CVE-2020-14697) [高] CVE-2020-14697 8.0.20及之前版本
8 Oracle MySQL Server 代码问题漏洞(CVE-2020-28196) [高] CVE-2020-28196  8.0.23及之前版本。
9 Oracle MySQL/MariaDB Packaging (OpenSSL)全漏洞(CVE-2022-0778) [高] CVE-2022-0778 8.0.28 及更早版本
10 Oracle MySQL Server安全漏洞(CVE-2019-17543) [高] CVE-2019-17543 5.7.34 and prior, 8.0.25 and prior
11 Oracle MySQL Server安全漏洞(CVE-2021-22901) [高] CVE-2021-22901 5.7.34 and prior, 8.0.25 and prior
12 Oracle MySQL/MariaDB Server 输入验证错误漏洞(CVE-2021-2144) [高] CVE-2021-2144 5.7.29 and prior, 8.0.19 and prior
13 Oracle MySQL Server 安全漏洞(CVE-2020-1967) [高] CVE-2020-1967 8.0.20及之前版本
14 Oracle MySQL Server 输入验证错误漏洞(CVE-2022-21278) [高] CVE-2022-21278  8.0.26 及更早版本
15 Oracle MySQL Server 输入验证错误漏洞(CVE-2021-35610) [高] CVE-2021-35610  8.0.26 及更早版本
16 Oracle MySQL Server 输入验证错误漏洞(CVE-2021-36222) [高] CVE-2021-36222 8.0.26 and prior 
17 Oracle MySQL openssl 组件输入验证错误漏洞(CVE-2022-1292) [高] CVE-2022-1292 5.7.38 and prior, 8.0.29 and prior
18 Oracle MySQL Server组件安全漏洞(CVE-2019-5482) [高] CVE-2019-5482 5.7.28 and prior, 8.0.18 and prior 
19 Oracle MySQL Server 信息泄露漏洞(CVE-2021-22946) [高] CVE-2021-22946 5.7.36 and prior, 8.0.27 and prior
20 Oracle MySQL Server 输入验证错误漏洞(CVE-2021-35583) [高] CVE-2021-35583  8.0.25 and prior
21 Oracle MySQL Server 输入验证错误漏洞(CVE-2022-21351) [高] CVE-2022-21351 8.0.27 and prior
22 Oracle MySQL 安全漏洞(CVE-2022-21600) [高] CVE-2022-21600 8.0.27 and prior
23 Oracle MySQL Server Server 安全漏洞(CVE-2020-14878) [高] CVE-2020-14878 8.0.21 and prior

一、准备工作

下载percona mysql (以下简称mysql)基础构建包,并上传至服务器中。

下载地址:Downloads - Percona

下载内容:一般下载这几个基础构建即可。

percona-icu-data-files-8.0.32-24.1.el7.x86_64.rpm

percona-server-shared-8.0.32-24.1.el7.x86_64.rpm

percona-server-client-8.0.32-24.1.el7.x86_64.rpm  

percona-server-shared-compat-8.0.32-24.1.el7.x86_64.rpm

percona-server-server-8.0.32-24.1.el7.x86_64.rpm

 二、开始安装

1.上传至服务器中mysqlupdate文件夹中(注意对照文件大小,核对是否传输完整)。 

2.查看当前mysql版本,执行如下sql保障数据的完整性。

# 登录mysql
[root@docker mysqlupdate]# mysql -u root -p

# 查看未升级前的版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.18-9  |
+-----------+
1 row in set (0.00 sec)


# 停止数据库会写到硬盘(只要确保数据库没有读写就可以了,有条件的话可以关闭业务机,否则可能会占用数据库导致失败)
mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)

执行结果如图: 

 3.备份数据库和my.cnf 文件

# 备份数据库 mysqldump -u root -p  数据库名 > 路径.sql
[root@docker mysqlupdate]# mysqldump -u root -p  ninjia >/home/backup/ninjia_backup.sql
Enter password: 

一般my.cnf 文件在/etc 下面 ,也可以使用find / -name "my.cnf" 来查找它。

[root@docker mysqlupdate]# find / -name "my.cnf"
/etc/my.cnf

# 备份配置文件
[root@docker mysqlupdate]# cp /etc/my.cnf /home/backup/my.cnf.bak

4.停止数据库,使用rpm -ivh进行安装,注意安装顺序。

systemctl stop mysql && systemctl status mysql

# 按顺序安装
rpm -ivh percona-server-shared-compat-8.0.32-24.1.el7.x86_64.rpm --replacefiles
rpm -ivh percona-server-shared-8.0.32-24.1.el7.x86_64.rpm --replacefiles
rpm -ivh percona-server-client-8.0.32-24.1.el7.x86_64.rpm --replacefiles
rpm -ivh percona-icu-data-files-8.0.32-24.1.el7.x86_64.rpm --replacefiles
rpm -ivh percona-server-server-8.0.32-24.1.el7.x86_64.rpm --replacefiles

 执行结果如图可自行对照。

查看是否安装成功,rpm -qa | grep percona

 

5.启动数据库及检查

[root@docker mysqlupdate]# systemctl daemon-reload && systemctl start mysql
[root@docker mysqlupdate]# systemctl status mysql


mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.32-24 |
+-----------+
1 row in set (0.00 sec)

 执行结果如图,可自行对照。

 三、总结

采用本方法,简单便捷,升级多次暂未出现问题。使用之前可以模拟环境再跑一遍,非常荣幸可以为您提供帮助!

附件资料:

# 以下是关于sql的模拟数据,为了方便大家测试,提供给大家。

create database ninjia;

use ninjia;

create table student(
        sno int(8)primary key auto_increment,
        sname varchar(20) not null,
        age int(2),
        sex varchar(1) default '男',
        phone varchar(30) unique
);


insert into student(sno,sname,age,sex,phone)
values(1,'老二',23,'男','123456789');


猜你喜欢

转载自blog.csdn.net/weixin_43391813/article/details/130412985