MySQL 官方版在 RHEL/CentOS/AlmaLinux/Rocky Linux 8+ 上需通过 dnf 添加官方 YUM 仓库安装,直接 yum install mysql 会安装 MariaDB;须下载 mysql80-community-release-el8.rpm、启用 mysql80-community、禁用 mysql57-community,再 dnf install mysql-community-server 并初始化。

MySQL 在 Linux(如 CentOS/RHEL 8+ 或 AlmaLinux/Rocky Linux)上已不再默认提供 mysql-community-server 的 yum 包,官方推荐使用 dnf + RPM Repository 方式安装;直接 yum install mysql 通常装的是 MariaDB,不是 Oracle 官方 MySQL。
确认 系统版本 和包管理器类型
先运行 cat /etc/redhat-release 或 rpm -q centos-linux-release 查清发行版。RHEL 8+、CentOS 8+、AlmaLinux 8+、Rocky Linux 8+ 默认用 dnf,yum 是其符号链接,但部分旧脚本仍写 yum——实际执行的已是 dnf。不要假设 yum 还能像 CentOS 7 那样直接装 MySQL 官方包。
添加 MySQL 官方 YUM Repository
Oracle 不再把 MySQL Server 放进基础仓库,必须手动导入官方 repo:
- 下载 repo RPM:
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm(注意el8要匹配你的系统,如 el9 对应 RHEL 9) - 启用 MySQL 8.0 系列(禁用 5.7,避免冲突):
sudo dnf config-manager --disable mysql57-community && sudo dnf config-manager --enable mysql80-community - 验证是否生效:
dnf repolist | grep mysql应看到mysql80-community
安装 MySQL Server 并初始化
执行安装命令后,MySQL 不会自动生成 root 密码,首次启动会触发初始化流程:
sudo dnf install mysql-community-server sudo systemctl start mysqld sudo systemctl enable mysqld
初始化日志在 /var/log/mysqld.log,用以下命令提取临时密码:
sudo grep 'temporary password' /var/log/mysqld.log
拿到密码后立即登录并改密(MySQL 8.0 强制要求强密码策略):
mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPass123!';
- 若提示
ERROR 1820 (HY000): You must reset your password,说明密码不符合策略,需包含大小写字母 + 数字 + 特殊字符 -
mysqld服务默认绑定127.0.0.1,远程访问需修改bind-address并授权用户 - 防火墙 需放行 3306:
sudo firewall-cmd --permanent --add-port=3306/tcp && sudo firewall-cmd --reload
常见错误:yum install mysql 安装了 MariaDB
这是最常踩的坑——因为很多 镜像源 (包括 阿里云 、 清华源)的 baseos 仓库里,mysql 包名实际指向 mariadb-server。验证方法:
rpm -qi mysql
若输出中 Vendor 显示 MariaDB Corporation Ab,就不是你要的 MySQL。
解决办法只有两个:删掉 MariaDB(sudo dnf remove mariadb-server),再按上文添加官方 repo 安装;或坚持用 MariaDB,但别误以为它是 Oracle MySQL。
真正想用 MySQL 官方版,绕不开手动加 repo 这步——没有“一键 yum install 就完事”的路径。






























