本文介绍在ubuntu系统中,将MySQL从8.0升级到8.4的详细步骤与注意事项。
一、 数据备份
1、备份
-
这是最重要的步骤。可使用以下命令进行逻辑备份,并妥善保存备份文件:
mysqldump -u root -p --all-databases --routines --triggers --events > mysql_full_backup_$(date +%Y%m%d).sql

2、验证备份文件
more mysql_full_backup_20251224.sql #分屏显示你的文件

二、升级安装
1、兼容性检查
-
安装 MySQL Shell升级检查工具,它能发现潜在的不兼容问题。
wget "https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell_8.4.0-1ubuntu22.04_amd64.deb" #下载
sudo dpkg -i mysql-shell_8.4.0-1ubuntu22.04_amd64.deb #安装
mysqlsh --version #检查安装情况



-
运行升级检查,
mysqlsh root@localhost -- util checkForServerUpgrade --target-version=8.4.0 --output-format=TEXT #注意用户名
如下图错误为0,说明检查通过。

2、安装mysql8.4
-
下载配置包
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb

-
#安装配置包
sudo dpkg -i mysql-apt-config_*.deb


-
更新软件源列表
sudo apt update

-
执行升级安装,安装新版本,包管理器会自动处理升级过程。
sudo apt install mysql-server

安装过程中可能会提示你保留或覆盖当前的配置文件(my.cnf),务必选择保留你当前的版本,或提前做好配置文件的备份。
三、升级后验证与收尾
1、后端检查
-
重启服务:
sudo systemctl restart mysql
-
验证版本:
mysql -V

-
或者进入MySQL后台,确认mysql版本
SELECT VERSION();

-
检查状态:
sudo systemctl status mysql

-
查看错误日志,确认没有错误信息:
sudo cat /var/log/mysql/error.log

2、业务系统检查
-
全面功能测试,登录你的业务系统,进行全面功能检查。包括用户登录、流程访问、数据库读写等。
-
升级后恢复备份数据:
mysql -u root -p 数据库名 < backup.sql # 恢复单个数据库(备份时指定了该数据库)
mysql -u root -p < mysql_full_backup.sql # 恢复全部数据库(备份时使用了 --all-databases),注意文件名需要根据实际指定
数据恢复注意:
数据恢复会覆盖你现有的数据库,如果升级后的业务正常,可不需要恢复。
在恢复生产环境前,务必在另一台安装了相同新版本MySQL的测试服务器上验证备份文件,确认其兼容性和完整性。