最稳妥方式是使用MySQL官方RPM仓库安装:先执行sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm添加el9适配仓库,再sudo dnf install mysql-community-server自动拉取依赖,启动后通过sudo grep 'temporary password' /var/log/mysqld.log获取初始root密码,并务必运行mysql_secure_installation加固。

直接用官方 RPM 仓库安装最稳,别碰 dnf search mysql-server 或系统自带源——Rocky Linux 9 默认源里压根没有 MySQL 8.0。
确认系统版本匹配仓库名
必须用 el9 后缀的仓库包,错成 el8 或 el7 就装不上。执行前先确认:
-
cat /etc/redhat-release确保是 Rocky Linux 9.x - 下载地址必须是
https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm,不能少-noarch.rpm - 安装命令要带完整 URL:
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
处理 GPG 密钥验证失败
MySQL 在 2022 年后轮换了 GPG key,Rocky 9 缓存的旧 key(如 gpg-pubkey-3a79bd29-xxxx)会和新包不匹配,报错 “keys are already installed but they are not correct”。这时得手动清理再导入:
- 查旧 key:
rpm -qa gpg-pubkey* - 删掉旧 key:
sudo rpm -e gpg-pubkey-3a79bd29-xxxx(替换成你实际看到的 hash) - 导入两个新 key:
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql和sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 - 清缓存:
sudo dnf clean all && sudo rm -rf /var/cache/dnf
启用 mysql80-community 仓库并禁用旧版
装完仓库包后,默认可能启用的是 mysql57-community,MySQL 8.0 不会装上。必须显式切换:
- 检查配置文件:
/etc/yum.repos.d/mysql-community.repo - 确保
[mysql80-community]段下enabled=1 - 确保
[mysql57-community]段下enabled=0 - 验证是否生效:
sudo dnf repolist | grep mysql,应看到mysql80-community且状态为 enabled
安装 mysql-community-server 时别漏依赖
mysql-community-server 是主包,但不会自动拉 mysql-community-client 和 mysql-common ——除非你用的是完整命令。正确做法是:
- 直接运行:
sudo dnf install mysql-community-server(它内部有 Requires,会自动带 client 和 common) - 别单独装
mysql-server:那是系统源里的老包,版本是 8.0.32 以下,不兼容 Rocky 9 的 systemd 和 SELinux 策略 - 装完检查:
mysql --version应输出类似mysql Ver 8.0.46
真正容易被忽略的不是安装步骤,而是密钥轮换和仓库启用状态——这两处出错,dnf install 会静默跳过 MySQL 包,或者卡在 GPG 验证上,连错误提示都不明显。


















