Debian 12 默认 apt install mysql-server 装不到 MySQL 8.4,因其官方仓库仅提供 MariaDB 或旧版 MySQL(如 8.0);必须先添加 MySQL 官方 APT 仓库并手动选中 mysql-8.4 分支,再 apt update && apt install mysql-server 才能正确安装 8.4.4 LTS 版本。

直接用 apt install mysql-server 装不到 MySQL 8.4 —— Debian 12 官方仓库默认只提供 MariaDB 或旧版 MySQL(如 8.0),必须先配置官方 MySQL APT 仓库,否则装出来的不是你要的版本。
确认系统架构与仓库兼容性
MySQL 8.4 仅支持 amd64 架构的 Debian 12,不支持 arm64 或 i386。执行以下命令验证:
uname -m
输出必须是 x86_64;再检查系统版本:
cat /etc/os-release | grep "VERSION="
应显示类似 VERSION="12.9 (bookworm)"。若为精简版或云厂商定制镜像(如腾讯云某些 Debian 12 镜像),可能缺 lsb-release,需先补装:
apt install -y lsb-release
添加 MySQL 官方 APT 仓库(关键步骤)
跳过官网手动下载 mysql-apt-config_*.deb 的繁琐流程,直接用 wget + dpkg 安装最新仓库配置包(截至 2026 年 9 月,0.8.29-1 支持 8.4 LTS):
wget https://repo.mysql.com/mysql-apt-config_0.8.29-1_all.deb<br>sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
执行后会弹出交互式界面,**必须手动选择**:
- 方向键选中
MySQL Server & Cluster→ 按Space打勾 - 方向键下移到
mysql-8.4→ 按Space打勾(默认可能是 8.0 或 8.3) - 按
Tab切到OK→ 回车确认
若漏选或选错,重装该 deb 包即可,dpkg-reconfigure mysql-apt-config 不生效。
安装 mysql-server 并验证版本
仓库配置成功后,更新索引并安装:
sudo apt update<br>sudo apt install -y mysql-server
安装过程会自动拉取 mysql-community-server_8.4.4-1debian12_amd64.deb 等组件,并触发初始化。安装完成后立即验证:
mysql --version
输出应为 mysql Ver 8.4.4 for Linux on x86_64 (MySQL Community Server - GPL)。若仍是 8.0.x,说明 apt update 前没正确选中 8.4 分支,或缓存未刷新,可强制清理:
sudo apt cleansudo rm -rf /var/lib/apt/lists/*- 重跑
sudo apt update && sudo apt install mysql-server
初始化后必须处理的认证问题
MySQL 8.4 默认启用 caching_sha2_password 插件,但部分客户端(如老版 PHP、某些 GUI 工具)不兼容。首次登录时若报错 Authentication plugin 'caching_sha2_password' cannot be loaded,不要删插件,而是临时切回兼容模式:
sudo mysql -uroot -p<br>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_strong_password';<br>FLUSH PRIVILEGES;
注意:这不是降级安全,只是绕过客户端限制;生产环境建议升级客户端或使用支持 caching_sha2_password 的连接库。另外,mysql_secure_installation 在 8.4 中仍可用,但会跳过密码强度检查(因已由服务器策略控制),重点做三件事:
- 设置 root 密码(如果安装时没设)
- 删除匿名用户:
Remove anonymous users? [Y/n]→Y - 禁止 root 远程登录:
Disallow root login remotely? [Y/n]→Y(如需远程,单独建用户授权)
最后检查服务状态:sudo systemctl status mysql,Active 应为 running,且日志里没有 MY-010118(数据目录权限错误)或 MY-010952(SELinux 相关,Debian 默认无 SELinux,可忽略)。


















