在 Debian 系统上升级 MySQL,通常可以分为 小版本升级(如 5.7.x → 5.7.y) 和 大版本升级(如 5.7 → 8.0)。下面按常见场景说明。
mysqldump -u root -p --all-databases > mysql_backup.sql
或物理备份:
systemctl stop mysql
cp -r /var/lib/mysql /var/lib/mysql_backup
mysql --version
或
dpkg -l | grep mysql-server
cat /etc/debian_version
适用于 apt 安装的 MySQL(来自 MySQL 官方或 Debian 仓库)
sudo apt update
sudo apt upgrade mysql-server
升级后:
sudo systemctl restart mysql
mysql_upgrade # MySQL 5.7 及以前需要,8.0 一般自动完成
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 apt install mysql-server
⚠️ 8.0 与 5.7 不兼容项较多,升级前建议:
- 检查
sql_mode- 检查字符集(建议 utf8mb4)
- 检查废弃函数(如
GROUP BY隐式排序)
mysqlcheck -u root -p --all-databases --check-upgrade
systemctl status mysql
mysql -V
Debian 默认可能是 MariaDB,不是 MySQL。
查看:
mysql -V
如果是 MariaDB,想换成 MySQL:
sudo apt remove mariadb-server
sudo apt install mysql-server
⚠️ 数据不兼容,必须备份并重新导入
查看日志:
journalctl -xe
cat /var/log/mysql/error.log
chown -R mysql:mysql /var/lib/mysql
检查:
/etc/mysql/my.cnf
/etc/mysql/mysql.conf.d/
✅ 先在测试环境升级
✅ 使用逻辑备份(mysqldump)
✅ 大版本升级前阅读官方文档
✅ 升级后观察慢查询和错误日志
如果你愿意,可以告诉我:
我可以给你 精确升级命令。