MySQL-8.0.30升级MySQL-8.0.34
记录一次MySQL漏洞升级操作
升级背景:Oracle MySQL官方发布MySQL-8.0.30版本高危漏洞CVE-2022-32221、CVE-2022-37434等,受影响版本涉及到8.0.32,官方建议升级至8.0.33,最好使用8.0.34,这里我们将MySQL-8.0.30升级至MySQL-8.0.34版本
方案:将原mysql目录重命名,解压新的程序目录软链接到原 mysql 的目录,在我当前环境也就是 /data/mysql,然后将原配置文件,数据目录和binlog目录同步过去,启动新的程序即可,这种方式不会影响原先的程序,即使出现问题,也可以将软链接修改回来启动旧的程序来进行回滚操作
这种方式实际上是手动管理MySQL的升级过程,在此过程中,不需要使用 --upgrade=FORCE 选项。但是,请确保在启动新版本之前检查所有配置文件的兼容性和新版本的新特性,以确保升级过程的顺利进行。
1、备份
以防万一,这里还是要先将数据备份,备份前确定服务已经没有数据写入了,mysqldump方式备份即可
2、下载安装包:https://downloads.mysql.com/archives/community/
rpm -qa |grep glibc 查看系统已安装 glibc 版本,下载对应得安装包
3、执行升级
1.停服
./bin/mysqladmin -uroot -pRoot~123 shutdown
2.解压新得安装包并启动
由于之前没有软链接,我先将原先得mysql目录修改个名字,也作为一个备份
cd /data
mv mysql mysql-8.0.30
解压安装包,并为防报错,将目录权限修改为mysql
tar xf mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz
chown -R mysql:mysql mysql-8.0.34-linux-glibc2.17-x86_64
ln -s /data/mysql-8.0.34-linux-glibc2.17-x86_64 /data/mysql
复制数据目录(data)和bin-log,relay-log目录(logs)以及配置文件到mysql目录下
cd /data/mysql
cp -rp ../mysql-8.0.30-linux-glibc2.12-x86_64/{data,logs} ./
cp -p ../mysql-8.0.30-linux-glibc2.12-x86_64/my.cnf ./
启动数据库
./bin/mysqld_safe --defaults-file=/data/mysql/my.cnf &
4、数据验证,启动主从复制
登录查看数据,可以看到下图,版本升级为8.0.34,数据也都还在
登录从节点执行升级步骤,完成后执行:start slave; 启动主从复制
至此,升级完成