首页 > 数据库 > MySQL > LINUX MYSQL8.0 升级
一. MYSQL 升级方式
就地升级(In-place Upgrade)
适用场景:
小版本升级(如5.7.1 → 5.7.2)
同一操作系统平台
升级步骤:
关闭当前MySQL服务
替换二进制文件或安装包
在现有数据目录上重启MySQL
运行
mysql_upgrade命令
特点:
✅ 不改变数据文件,数据原地升级
✅ 升级速度快
❌ 不可跨操作系统
❌ 不可跨大版本(如5.5 → 5.7)
适用场景:
跨操作系统升级
大版本升级(如5.5 → 5.7)
需要迁移到新服务器
实现方式:
使用
mysqldump或
mydumper导出数据
在新版本MySQL中导入数据
特点:
✅ 可跨操作系统
✅ 可跨大版本
❌ 升级速度慢
❌ 可能出现乱码等兼容性问题
❌ 需要额外的存储空间存放备份
MySQL 8.0.16 之前版本
关闭MySQL服务
替换二进制文件/安装包
启动MySQL服务
手动执行
mysql_upgrade命令
mysql_upgrade -uroot -p -S /mysql/data/3306/mysql.sock
mysql_upgrade的作用:检查所有表兼容性:
检查所有库的所有表是否与当前新版本兼容
更新系统库:
更新系统表(如
mysql库中的表)
更新用户表
参数注意事项:
升级过程中需关注
my.cnf参数的变化
关闭MySQL,替换新的二进制文件
启动MySQL时自动升级
数据字典表自动升级
系统表自动升级
用户表等自动升级
废弃
mysql_upgrade客户端
新增
mysqld的
--upgrade选项
/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/ ,如需转载,请注明出处,否则将追究法律责任。