欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7环境下MySQL升级

程序员文章站 2022-03-09 11:10:18
...

项目运维过程中,被扫描出MySQL安全漏洞,需要通过升级MySQL版本来解决问题,服务器上原本安装的是mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz,本文介绍的是将mysql升级至mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

下载所需软件

下载xtrabackup

数据库软件在升级前,需要对原有数据库进行备份,这里采用的xtrabackup进行备份还原。需要下载libev与percona-xtrabackup
(1)下载libev

https://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/libev-4.15-1.el6.rf.x86_64.rpm

(2)下载percona-xtrabackup

CentOS6

https://repo.percona.com/yum/release/6/RPMS/x86_64/percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm

CentOS7

https://repo.percona.com/yum/release/7/RPMS/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

下载MySQL

登录MySQL官方网站,下载指定版本的MySQL安装包

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

CentOS7环境下MySQL升级

将软件上传至服务器

通过SFTP将安装包上传至opt目录
CentOS7环境下MySQL升级

安装xtrabackup

cd /opt/xtrabackup/
ll
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
# CentOS6
rpm -ivh percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm
# CentOS7
rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

CentOS7环境下MySQL升级

使用xtrabackup备份MySQL数据库

(1)对mysql做一个全量备份。–host指定mysql主机,–port指定mysql数据库服务端口,–user指定连接数据库的用户名,–password指定连接数据库的密码,/opt/mysqldb/指定备份文件存储路径。

innobackupex --no-timestamp --host=127.0.0.1 --port=3306 --user=root --password=123456 --parallel=5 /opt/mysqldb/

等到出现“completed OK!”就说明备份完成。
CentOS7环境下MySQL升级
如果mysql数据库有做主从复制,执行以下语句,备份日志。

innobackupex --host=127.0.0.1 --port=3306 --apply-log /opt/mysqldb/

CentOS7环境下MySQL升级

升级MySQL

执行完备份后,停止mysql服务,对原有MySQL进行卸载,并重新安装。

停止MySQL服务

CentOS7环境下MySQL升级

卸载现有MySQL

这里直接将原有版本的mysql目录进行重新命名。

cd /usr/local/
mv mysql mysql_bak

CentOS7环境下MySQL升级

安装新版MySQL

在之前的教程中有介绍了MySQL的安装,这里就不在说明,具体参考:https://blog.csdn.net/cpeiqing/article/details/109113499

使用xtrabackup还原

在使用xtrabackup还原MySQL数据之前,要先停止正在运行的mysql数据库,同时将/usr/local/mysql/database/进行备份删除。

service mysql stop
mv /usr/local/mysql/database/ /usr/local/mysql/database_bak

CentOS7环境下MySQL升级
执行innobackupex还原数据库

innobackupex --copy-back /opt/mysqldb/

出现“completed OK!”说明还原成功
CentOS7环境下MySQL升级
检查一下database目录,确定是否还原成功
CentOS7环境下MySQL升级

启动MySQL数据库

启动mysql数据库,检查是否还原成功。
CentOS7环境下MySQL升级