在 Debian 上升级 MySQL 的方法取决于你当前使用的版本(MySQL / MariaDB)、安装方式(官方仓库 / Debian 默认仓库 / 第三方仓库)。下面按常见场景一步一步说明。
mysql --version
或
mysqld --version
以及确认是 MySQL 还是 MariaDB:
apt list --installed | grep -E 'mysql|mariadb'
⚠️ Debian 官方仓库中默认是 MariaDB,不是 Oracle MySQL。
如果你要升级 Oracle MySQL,需要确认是否使用了 MySQL 官方 APT 仓库。
mysqldump -u root -p --all-databases > all.sql
或物理备份(停止服务后):
systemctl stop mysql
cp -a /var/lib/mysql /var/lib/mysql.bak
cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
cp -a /etc/mysql/conf.d /etc/mysql/conf.d.bak
sudo apt update
sudo apt upgrade
sudo apt install --upgrade mysql-server
或(MariaDB):
sudo apt install --upgrade mariadb-server
sudo mysql_upgrade -u root -p
⚠️ 如果是 MariaDB 10.4+,可能不需要
mysql_upgrade(自动完成)。
ls /etc/apt/sources.list.d/
如果有类似:
mysql.list
或
mysql-apt-config.list
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
选择你要升级到的 MySQL 版本。
然后:
sudo apt update
sudo apt install mysql-server
mysql_upgrade -u root -p
⚠️ 强烈建议先测试
流程:
systemctl stop mysql
mysql_upgrade不建议直接覆盖安装,以免数据不兼容。
systemctl start mysql
systemctl status mysql
mysql -u root -p
SELECT VERSION();
检查日志:
journalctl -xe
cat /var/log/mysql/error.log
常见原因:
如果你愿意,可以告诉我:
我可以给你 精确升级方案。