一、问题痛点描述
日常运维实际工作中,经常碰到密评风险漏洞生产环境扫描出很多数据库漏洞,要求整改
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、判断清楚生产环境是那种版本,安装包版本,还是免安装版本
安装包版本与免安装包版本判断
通过服务下的地址判断
包含Program Files 目录为安装版
如下为免安装版
**一、MYSQL5.7以及8.0版本(Windows平台)
(一)安装包版本
安装包版本是指用官方整合好的EXE安装包安装的版本。
官方下载地址https://downloads.mysql.com/archives/installer/**
发布日期2021年11月,代表此版本可以修复2021年11月之前的扫出的漏洞。
步骤1:查看当前5.7的版本
select version();
**步骤2:下载最新5.7版本
https://downloads.mysql.com/archives/installer/ #官方下载地址
当前最新版本5.7.36**
步骤3执行覆盖安装
输入已知的ROOT密码
验证
Localhost 改成127.0.0.1
检查数据,用户与升级之前无异,升级成功!
步骤4重启服务器操作系统
升级完成之后,数据跟升级之前无异!
(二)免安装版本
通过服务的地址查看,如果是如下图目录为免安装版本
免安装版本官方不支持自动升级,只能先备份数据,然后卸载,然后重新安装新版本的安装包版本,之后重新迁移数据跟相关用户信息。整个迁移过程很麻烦,又存在风险,不建议操作,建议在另台新服务器上安装新版本MYSQL5.7安装包版本,然后迁移数据过去,保证2个环境都能运行,这样最稳妥。
步骤1 备份用户权限信息
步骤2 备份全量数据库(结构和数据)
步骤3 停用MSQL服务
步骤4 删除原低版本MYSQL服务
在cmd中,输入sc delete mysql,删除服务。
步骤5 安装高版本安装包版本
此处安装路径到容量比较大的磁盘,默认装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
在这里插入图片描述
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
6、启动服务
Service mysqld start
启动的时候查看日志
升级无缝成功
8.023升级到8.025成功
版权归原作者 技术很渣 所有, 如有侵权,请联系我们删除。