ITPub博客

首页 > 数据库 > MySQL > LINUX MYSQL8.0 升级

LINUX MYSQL8.0 升级

MySQL 作者:wwjfeng 时间:2026-01-19 11:37:59 0 删除 编辑

一. MYSQL 升级方式

就地升级(In-place Upgrade)

  • 适用场景:

    • 小版本升级(如5.7.1 → 5.7.2)

    • 同一操作系统平台

  • 升级步骤:

    1. 关闭当前MySQL服务

    2. 替换二进制文件或安装包

    3. 在现有数据目录上重启MySQL

    4. 运行 mysql_upgrade命令

  • 特点:

    • ✅  不改变数据文件,数据原地升级

    • ✅  升级速度快

    • ❌  不可跨操作系统

    • ❌  不可跨大版本(如5.5 → 5.7)

逻辑升级(Logical Upgrade)

  • 适用场景:

    • 跨操作系统升级

    • 大版本升级(如5.5 → 5.7)

    • 需要迁移到新服务器

  • 实现方式:

    1. 使用 mysqldump或 mydumper导出数据

    2. 在新版本MySQL中导入数据

  • 特点:

    • ✅  可跨操作系统

    • ✅  可跨大版本

    • ❌  升级速度慢

    • ❌  可能出现乱码等兼容性问题

    • ❌  需要额外的存储空间存放备份

MySQL 8.0.16 之前版本

升级流程:

  1. 关闭MySQL服务

  2. 替换二进制文件/安装包

  3. 启动MySQL服务

  4. 手动执行 mysql_upgrade命令

命令示例:

bash
mysql_upgrade -uroot -p -S /mysql/data/3306/mysql.sock

mysql_upgrade的作用:

  1. 检查所有表兼容性:

    • 检查所有库的所有表是否与当前新版本兼容

  2. 更新系统库:

    • 更新系统表(如 mysql库中的表)

    • 更新用户表

  3. 参数注意事项:

    • 升级过程中需关注 my.cnf参数的变化


MySQL 8.0.16 及之后版本

升级流程:

  1. 关闭MySQL,替换新的二进制文件

  2. 启动MySQL时自动升级

    • 数据字典表自动升级

    • 系统表自动升级

    • 用户表等自动升级

重要变化:

  • 废弃 mysql_upgrade客户端

  • 新增 mysqld的 --upgrade选项

新升级选项:

bash
/usr/local/mysql/bin/mysqld --upgrade=AUTO

--upgrade参数选项值:

选项值 说明
NONE 不执行升级
AUTO 自动升级(默认值)
MINIMAL 最小化升级
FORCE 强制升级


--主从架构的升级

MySQL 支持从低版本 MySQL 源库(即主库)复制到高版本 MySQL 的副本库(即从库),如 5.6 -> 5.7,5.7 -> 8.0。

但不支持从高版本源库复制到低版本副本库。因此,在主从拓扑结构中,必须先将拓扑中的所有副本库(即从库)升级到目标 MySQL 版本,

最后再升级主从复制拓扑中源库(即主库)的软件版本。


--对MySQL做升级,若升级失败了怎么办?

1)升级前做好备份,如果升级失败,用备份恢复即可。

2)在做升级时,一般创建一个从库,先在从库进行升级,若升级失败,也不会影响到主库;

若升级成功,测试也成功,便会将其他的从库也逐渐升级到新版本,最后将主库下线,提升一个从库做新主库,对旧主库进行版本升级。


二.小版本升级

systemctl stop mysqld

cd /mysql/app

tar -Jxf /soft/mysql-8.0.43-linux-glibc2.28-x86_64.tar.xz

chown -R mysql:mysql mysql-8.0.43-linux-glibc2.28-x86_64

chmod -R 755 mysql-8.0.43-linux-glibc2.28-x86_64

rm mysql

ln -s mysql-8.0.43-linux-glibc2.28-x86_64 mysql

cd /mysql/app/mysql/support-files/

mv mysql.server mysql.server.bak

cp /mysql/app/mysql-8.0.35-linux-glibc2.28-x86_64/support-files/mysql.server .

./mysql.server start



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15412087/viewspace-3108266/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: LINUX9 MYSQL8.0 安装
下一篇: MYSQL8.4 主从复制
请登录后发表评论 登录
全部评论

注册时间:2010-03-27

  • 博文量
    57
  • 访问量
    199171