在 Ubuntu 上升级 MySQL 版本,常见有 APT 官方源升级 和 MySQL 官方仓库升级 两种方式。下面按最常用、最安全的思路说明。
mysqldump -u root -p --all-databases > all_db_backup.sql
或物理备份:
systemctl stop mysql
cp -r /var/lib/mysql /var/lib/mysql_backup
mysql -V
# 或
mysql -u root -p -e "SELECT VERSION();"
lsb_release -a
适用于:小版本升级(如 5.7 → 5.7.x)
或 Ubuntu 新版本自带更高 MySQL(如 20.04 → 22.04)
sudo apt update
sudo apt upgrade
sudo apt install --only-upgrade mysql-server
mysql -V
⚠️ 如果是 跨大版本(如 5.7 → 8.0),Ubuntu APT 默认不会自动升,需要用下面方法。
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
选择 MySQL 8.0
sudo apt update
sudo systemctl stop mysql
sudo apt install mysql-server
sudo mysql_upgrade -u root -p
(MySQL 8.0.16+ 可省略,启动自动升级)
sudo systemctl start mysql
mysql -V
✅ 5.7 → 8.0 不兼容点
caching_sha2_password✅ 建议先:
mysqldump 全库
再升级
journalctl -xe
cat /var/log/mysql/error.log
不要直接覆盖 /var/lib/mysql,先备份
| 场景 | 推荐方式 |
|---|---|
| 小版本升级 | apt upgrade |
| 5.7 → 8.0 | 官方仓库 |
| 生产环境 | 先备份 + 测试机验证 |
如果你告诉我:
我可以给你定制升级步骤。