一、概述
Linux MySQL 5.7二进制 小版本升级,升级前需要备份数据和mysql主配置文件my.cnf
对数据字典的升级数据字典有:mysql、information_schema、performance_schema、sys schema。
MySQL升级的两种方式:
in-place upgrade:
适合小版本的升级。
即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade.
特点:不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.5—>5.7).
logical upgrade:
适合不同操作系统的MySQL升级,大版本之间的升级。
即:使用mysqldump 或 mydumper 导入导出数据,实现版本的升级。
特点:可以跨操作系统,跨大版本;但,升级速度慢,容易出现乱码等问题。
二、小版本升级
in-place upgrade方式
in-place upgrade包括关闭旧的MySQL服务器,用新的MySQL服务器替换旧的MySQL二进制文件或软件包,在现有数据目录上重新启动MySQL,以及运行mysql_upgrade。
2.1 XA事务InnoDB
如果您使用XA事务InnoDB,请XA RECOVER在升级之前运行以检查未提交的XA事务。如果返回结果,则通过发出XA COMMIT或 XA ROLLBACK声明来提交或回滚XA事务。
2.2 配置MySQL以通过设置innodb_fast_shutdown为 执行慢速关闭 0。
mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
在关闭过程中,InnoDB执行完全清除并在关闭之前更改缓冲区合并,这可确保在发布版本之间存在文件格式差异时完全准备好数据文件。
2.3 关闭旧的MySQL服务器
mysqladmin -u root -p shutdown
2.4 安装新的MySQL二进制包
下载,解压新的MySQL二进制分发包;
授权:chown -R mysql.mysql /usr/loacl/mysql_new