温馨提示×

怎么升级Debian MySQL版本

小樊
50
2026-07-15 19:56:50
栏目: 云计算

在 Debian 上升级 MySQL 版本,常见有 两种场景

  1. 从 Debian 自带仓库升级 MySQL(小版本升级)
  2. 从 MySQL 官方仓库升级(跨大版本,如 5.7 → 8.0)

下面按 推荐流程 详细说明。


一、升级前必做(非常重要)

1️⃣ 备份数据库

mysqldump -u root -p --all-databases > all-db-$(date +%F).sql

或物理备份(innodb 推荐):

systemctl stop mysql
cp -a /var/lib/mysql /var/lib/mysql.bak
systemctl start mysql

2️⃣ 查看当前版本

mysql --version

二、方式一:Debian 仓库升级(小版本)

适用于:

  • 5.7 → 5.7.x
  • 8.0 → 8.0.x

1️⃣ 更新软件源

sudo apt update

2️⃣ 升级 MySQL

sudo apt upgrade mysql-server

3️⃣ 检查是否升级成功

mysql --version

✅ 适合 安全升级 / 小版本更新


三、方式二:MySQL 官方仓库升级(推荐,跨版本)

✅ 示例:升级到 MySQL 8.0


1️⃣ 卸载旧版本(不要删数据)

sudo systemctl stop mysql
sudo apt remove mysql-server mysql-client mysql-common
sudo apt autoremove

⚠️ 不要删除 /var/lib/mysql


2️⃣ 添加 MySQL 官方 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 Server
  • 选择 8.0
  • OK

然后:

sudo apt update

3️⃣ 安装 MySQL 8.0

sudo apt install mysql-server

安装过程中会:

  • 提示是否保留原数据目录
  • 询问 root 认证方式(建议选 caching_sha2_password

4️⃣ 运行升级程序(关键)

sudo mysql_upgrade -u root -p

MySQL 8.0+ 有时会自动执行,但手动跑一次更安全


5️⃣ 重启 MySQL

sudo systemctl restart mysql

四、升级后检查

systemctl status mysql
mysql --version
mysql -u root -p -e "SELECT VERSION();"

五、常见问题

❌ 升级失败 / 无法启动

journalctl -xe
cat /var/log/mysql/error.log

❌ 兼容性问题(5.7 → 8.0)

  • sql_mode 变化
  • GROUP BY 更严格
  • 默认字符集 utf8mb4

✅ 建议先在 测试环境 升级


六、升级建议总结

场景 建议
小版本 apt upgrade
跨版本 官方仓库
生产环境 先测试 + 备份
云服务器 先快照

如果你愿意,可以告诉我:

  • Debian 版本(10 / 11 / 12)
  • 当前 MySQL 版本
  • 是否生产环境

我可以给你 最适合你服务器的升级方案

0