在 Debian 系统上升级 MySQL,通常有两种常见场景:小版本升级(如 8.0.x → 8.0.y) 和 大版本升级(如 5.7 → 8.0)。下面分别说明。
mysqldump -u root -p --all-databases > all_db_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
适用于 8.0.30 → 8.0.36 这类更新。
sudo apt update
sudo apt install --only-upgrade mysql-server
sudo systemctl restart mysql
mysql --version
⚠️ 有风险,务必先备份
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
mysql_upgrade
(MySQL 8.0 通常自动完成)
sudo systemctl stop mysql
sudo apt purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt install mysql-server
⚠️ 会丢失数据,必须提前备份
systemctl status mysql
mysql -u root -p
SELECT VERSION();
检查错误日志:
tail -n 50 /var/log/mysql/error.log
检查:
/etc/mysql/my.cnf
/etc/mysql/mysql.conf.d/
MySQL 8.0 不再支持部分 5.7 参数
MySQL 8 默认使用 caching_sha2_password
老客户端可能不支持,可改回:
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass';
如果你告诉我:
我可以给你更精确的升级步骤。