Linux 上升级 MySQL 的完整流程
一 升级前准备
mysqldump -u root -p --all-databases --routines --triggers --single-transaction --quick --max_allowed_packet=512M > full-backup.sql。util.checkForServerUpgrade())扫描数据类型、存储引擎、SQL 模式、系统变量等不兼容项并先行修复。二 升级方式与选择
mysqldump/mysqlpump/mydumper 导出导入,跨平台/跨版本/跨实例迁移更灵活,适合大版本升级或重构场景。三 就地升级步骤(YUM/DNF 与 APT 示例)
mysql -V 或 SELECT VERSION();。yum repolist all | grep mysql(YUM/DNF),或更新 APT 索引。sudo systemctl stop mysqldsudo yum update mysql-server(或 sudo dnf update mysql-server)sudo systemctl start mysqldmysql -V 与 SELECT VERSION();rpm -qa | grep mysql-community(应仅见新版本)which mysqld 与 /usr/sbin/mysqld --versionsudo yum remove mysql-community-server 后重装,再重启验证。sudo systemctl stop mysqlsudo apt-get update && sudo apt-get install mysql-serversudo systemctl start mysqlmysql -V 与 SELECT VERSION();mysql_upgrade -u root -p --force,完成后重启。四 逻辑升级步骤(跨大版本或跨平台推荐)
mysqldump 导出全量逻辑备份(建议包含存储过程、触发器、事件):mysqldump -u root -p --all-databases --routines --triggers --events --single-transaction --quick --max_allowed_packet=512M > full-backup.sqlmysql -u root -p < full-backup.sql。五 升级后验证与常见问题
mysql -V 与 SELECT VERSION(); 显示目标版本;systemctl status mysqld/mysql 为 active。which mysqld、/usr/sbin/mysqld --version),必要时清理并重装。mysql_upgrade 并重启。