一、问题痛点描述

日常运维实际工作中,经常碰到密评风险漏洞生产环境扫描出很多数据库漏洞,要求整改

cve mysql 漏洞 mysql5.7.26漏洞_安装包

MYSQL数据库整改方法就是升级版本,升更高版本就自动修复了上图的漏洞,能确保正常过风险评估。下文叙述了升级方法。
升级规范 5.7x升级5.7X 比如5.7.22升级5.7.36(5.7版本官方也一直在更新修复BUG)
8.0X升级至8.0X比如8.0.16升级至8.0.27
不要5.7升级8.0,因为2个版本有很大不同,数据迁移过程会遇到各种错误。

解决方法1:直接升级生产环境(有风险,不建议)
解决方法2(推荐):创建跟生产环境一致的测试环境,进行多次反复升级测试

前期准备
1、熟悉全量备份实例下数据库所有数据库的方法,并确保备份文件可以正常恢复
2、熟知mysql下的所有用户名以及密码,尤其是root密码(本机可用root登录)
3、判断清楚生产环境是那种版本,安装包版本,还是免安装版本
安装包版本与免安装包版本判断
通过服务下的地址判断

cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_02

包含Program Files 目录为安装版

cve mysql 漏洞 mysql5.7.26漏洞_安全_03

如下为免安装版

cve mysql 漏洞 mysql5.7.26漏洞_安装包_04

**一、MYSQL5.7以及8.0版本(Windows平台)

(一)安装包版本

安装包版本是指用官方整合好的EXE安装包安装的版本。

官方下载地址https://downloads.mysql.com/archives/installer/**

cve mysql 漏洞 mysql5.7.26漏洞_数据库_05

发布日期2021年11月,代表此版本可以修复2021年11月之前的扫出的漏洞。

cve mysql 漏洞 mysql5.7.26漏洞_安装包_06

步骤1:查看当前5.7的版本
select version();

cve mysql 漏洞 mysql5.7.26漏洞_数据库_07

**步骤2:下载最新5.7版本

https://downloads.mysql.com/archives/installer/  #官方下载地址

当前最新版本5.7.36**

cve mysql 漏洞 mysql5.7.26漏洞_安全_08

步骤3执行覆盖安装

cve mysql 漏洞 mysql5.7.26漏洞_mysql_09

cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_10


cve mysql 漏洞 mysql5.7.26漏洞_安装包_11


cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_12

输入已知的ROOT密码

cve mysql 漏洞 mysql5.7.26漏洞_数据库_13

cve mysql 漏洞 mysql5.7.26漏洞_数据库_14

cve mysql 漏洞 mysql5.7.26漏洞_数据库_15


cve mysql 漏洞 mysql5.7.26漏洞_安装包_16


cve mysql 漏洞 mysql5.7.26漏洞_安全_17

验证

cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_18

Localhost 改成127.0.0.1

cve mysql 漏洞 mysql5.7.26漏洞_数据库_19

检查数据,用户与升级之前无异,升级成功!

cve mysql 漏洞 mysql5.7.26漏洞_mysql_20

步骤4重启服务器操作系统

升级完成之后,数据跟升级之前无异!

cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_21

(二)免安装版本
通过服务的地址查看,如果是如下图目录为免安装版本
免安装版本官方不支持自动升级,只能先备份数据,然后卸载,然后重新安装新版本的安装包版本,之后重新迁移数据跟相关用户信息。整个迁移过程很麻烦,又存在风险,不建议操作,建议在另台新服务器上安装新版本MYSQL5.7安装包版本,然后迁移数据过去,保证2个环境都能运行,这样最稳妥。

步骤1 备份用户权限信息

cve mysql 漏洞 mysql5.7.26漏洞_安全_22

步骤2 备份全量数据库(结构和数据)

cve mysql 漏洞 mysql5.7.26漏洞_mysql_23

步骤3 停用MSQL服务

cve mysql 漏洞 mysql5.7.26漏洞_安全_24

步骤4 删除原低版本MYSQL服务
在cmd中,输入sc delete mysql,删除服务。

cve mysql 漏洞 mysql5.7.26漏洞_数据库_25

步骤5 安装高版本安装包版本

cve mysql 漏洞 mysql5.7.26漏洞_mysql_26

cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_27


cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_28


cve mysql 漏洞 mysql5.7.26漏洞_安全_29

此处安装路径到容量比较大的磁盘,默认装C日后容易硬盘饱满!!

步骤6 恢复数据(Nacicat工具恢复)

步骤7 恢复用户权限数据

步骤8 验证数据是否完整

二、MYSQL5.7以及8.0版本(linux环境)

举例
操作系统 Mysql版本
Centos6.5 MYSQL8.0x向上小版本升级
1、官网下载最新版本安装包

https://dev.mysql.com/downloads/mysql/

注意操作系统cento版本
2、查看当前生产环境版本
此次的案例为8.023升级到8.025版本
show variables like ‘%version%’
3、解压
tar -xf mysql-8.0.25-1.el6.x86_64.rpm-bundle.tar
4、关闭当前MYSQL服务
Service mysqld stop
Ps –ef|grep mysql
在这里插入图片描述

cve mysql 漏洞 mysql5.7.26漏洞_mysql_30

5、强制安装新版本包

rpm -ivh mysql-community-common-8.0.25-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.25-1.el6.x86_64.rpm --nodeps –force
rpm -ivh mysql-community-client-8.0.25-1.el6.x86_64.rpm --nodeps –force
rpm -ivh mysql-community-server-8.0.25-1.el6.x86_64.rpm --nodeps --force

cve mysql 漏洞 mysql5.7.26漏洞_安装包_31


cve mysql 漏洞 mysql5.7.26漏洞_cve mysql 漏洞_32

6、启动服务
Service mysqld start
启动的时候查看日志

升级无缝成功
8.023升级到8.025成功

cve mysql 漏洞 mysql5.7.26漏洞_安装包_33