8. 同步数据备份Mysql备份的目的是避免数据丢失,一定要备份好才接下来操作 。
- 备份配置
- 逻辑备份
- 物理备份(数据卷,日志)
查看/etc/my.cnf,然后进行备份/etc/my.cnf 和Mysql存储目录(生产环境任何操作一定要先备份,在操作)
1. 备份配置文件
cp /etc/my.cnf /home/cgt/mysqlbak/my.cnf
2. 备份逻辑文件mysqldump -uroot -p --all-databases > all.sql #全库备份mysqldump -uroot -p --databases XXX > XXX.sql #业务库备份
3. 停机后备份完整的数据文件systemctl stop msyqld #暂停Mysql tar -zcvf mysqlbak.tar.gz /var/lib/mysql # 数据卷归档
升级Mysql到5.7.311. 获取最新版本上mysql官网,下载最新版的rpm包 。登陆 https://dev.mysql.com/downloads/mysql/ 网站默认是Mysql 8最新版本的 如果是用Mysql5.7的,点击下图红色框框,文章插图
根据自己的操作系统和位数进行选择,这里是Centos7 64位 。
文章插图
截至 2020/09/21,官网上 Mysql5.7 系列最新的版本为 5.7.312. 上传tar包到centos7的/opt 目录3. 编写Mysql一键升级脚本vim mysql5.7.31_upgrade.sh
下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
这里我们使用先卸载的方法,RPM包虽然可以直接 rpm -Uvh 升级,但mysql中有6个rpm包,相互依赖,升级会报依赖的问题 。
#!/bin/bash#rpm包安装的服务使用rpm -Uvh 升级mkdir mysql5.7.31tar xvfmysql-5.7.31-1.el7.x86_64.rpm-bundle.tar -C mysql5.7.31 && cd mysql5.7.31rpm -Uvh mysql-community-common-5.7.29-1.el7.x86_64.rpmrpm -Uvh mysql-community-libs-5.7.29-1.el7.x86_64.rpmrpm -Uvh mysql-community-devel-5.7.29-1.el7.x86_64.rpmrpm -Uvh mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpmrpm -Uvh mysql-community-client-5.7.29-1.el7.x86_64.rpmrpm -Uvh mysql-community-server-5.7.29-1.el7.x86_64.rpm#还原本来的my.cnfmv /etc/my.cnf/etc/my.cnf.bak&& mv /etc/my.cnf.rpmsave/etc/my.cnf#重新启动Mysql并查询进程systemctl restart mysqldnetstat -anp|grep 3306
4. 执行脚本,一键更新sh mysql5.7.31_upgrade.sh
文章插图
5. 升级Mysql系统表
mysql_upgrade -uroot -p #密码和本来的一样#-s 参数是仅升级系统表的意思,避免数据库升级后无法打开一些系统表
文章插图
6. 登陆数据库验证
mysql -uroot -p
文章插图
这个时候,完成Mysql的版本更新,漏洞也随之消失了 。
推荐阅读
- RFM模型升级,使用Excel完成全自动分析
- Centos7.6上静默安装oracle11.2.0.4.0
- CentOS7下部署Cobbler实现PXE+KS自动化安装
- 基于Pyqt5的C/S模式客户端在线升级方案
- 十分钟搞定JeecgBoot 单体升级微服务
- 大数据时代,机器学习算法该如何升级?
- 加快祁红的转型升级,还原祁红群芳最
- CentOS7安装Python3.x
- CentOS7下搭建Jellyfin个人流媒体服务器
- win11提升了什么,win10升级win11有必要吗?