rhel 8 上部署 mysql 8.0 企业版不推荐使用 rpm 包平滑部署,因官方未提供公开 rpm 仓库,企业版仅限 oracle 订阅用户从 edelivery.oracle.com 下载合法 rpm 或 tar.gz 包,非官方渠道获取会导致启动失败、插件缺失等硬性故障。

直接上结论:RHEL 8 上部署 MySQL 8.0 企业版,不推荐使用 RPM 包平滑部署——MySQL 官方 未提供 MySQL Enterprise Edition 的公开 RPM 仓库或单个可安装的 .rpm 包,所谓“企业版 RPM”实际只存在于付费订阅通道(如 Oracle Software Delivery Cloud),且需绑定 My Oracle Support 账户和有效许可证。试图用社区版 RPM 替代、或从非官方渠道获取所谓“企业版 RPM”,会导致服务启动失败、认证插件缺失、审计/加密功能不可用等硬性故障。
为什么找不到 mysql-enterprise-server-8.0.x-*.rpm?
MySQL 社区版(mysql-community-server)通过 mysql80-community-release 仓库公开分发,但企业版(mysql-enterprise-server)从不发布在 public YUM 源中。它的 RPM 包命名格式为 mysql-enterprise-server-8.0.x-1.el8.x86_64.rpm,但仅对已购买订阅的用户开放下载,路径类似:https://www.php.cn/link/ba66c078a59a51cb3a7d282bab86687b/.../mysql-enterprise-server-8.0.34-1.el8.x86_64.rpm。未登录 MOS(My Oracle Support)账户时,该链接返回 404 或重定向到登录页。
常见误操作包括:
- 用
yum search mysql-enterprise查不到任何结果——正常,因为企业版不在默认或 MySQL 官方公共 repo 中 - 从第三方论坛下载的“mysql-enterprise-8.0.rpm”多数是篡改包,
rpm -K校验失败,且安装后mysqld --version仍显示 community 字样 - 尝试用
dnf install mysql-community-server后手动替换二进制文件,会导致caching_sha2_password插件加载失败、audit_log插件无法启用
企业版真正可用的部署路径只有两条
必须严格区分场景选择:
-
已有有效 Oracle 订阅(含 MySQL Enterprise Edition):从 edelivery.oracle.com 下载完整
MySQL-Enterprise-8.0.x-el8-x86_64.tar.gz包(含 server、backup、monitor、router 等),解压后运行./mysql-enterprise-8.0.x/scripts/mysql_install_db(注意:8.0.31+ 已弃用该脚本,改用mysqld --initialize并指定--plugin-load-add=audit_log.so) -
无订阅,但合同要求“企业级能力”:用社区版 + 开源增强组件替代,例如:
percona-server(兼容企业版审计日志格式)、mysql-shell(支持 InnoDB Cluster)、mysql-router(官方提供 RPM,可与社区版共存)
特别注意:mysql-enterprise-backup(MEB)虽有独立 RPM,但依赖 mysql-enterprise-server 提供的 libmysqlservices.so,单独安装会报 undefined symbol: thd_get_thread_id 错误。
RPM 安装后最常卡死的三个检查点
即使你拿到了合法 RPM 并成功 rpm -ivh,启动前必须人工确认:
-
/etc/my.cnf中不能出现default_authentication_plugin=caching_sha2_password——企业版默认使用authentication_ldap_sasl或authentication_fido,硬写会触发Unknown plugin 'caching_sha2_password' -
systemctl start mysqld失败时,先查journalctl -u mysqld -n 50 --no-pager,90% 的 case 是Can't open shared library '/usr/lib64/mysql/plugin/audit_log.so',说明 RPM 未把 plugin 目录复制全,需手动从 tar 包中提取并chown mysql:mysql -
mysql -u root -p登录后执行SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'audit%';,若返回空,则INSTALL PLUGIN audit_log SONAME 'audit_log.so';会失败——因为企业版的audit_log.so必须在初始化阶段由mysqld --initialize --log-error-verbosity=3加载,运行时无法动态注册
真正“平滑”的关键,不是安装动作多快,而是初始化参数是否与企业版许可机制对齐。比如 server-id 在集群场景下必须全局唯一,而企业版的 mysqlsh 集群引导流程会校验该值;又比如 innodb_redo_log_capacity 在企业版中受许可证核数限制,设超了会静默降级为 warning 级别——这些都不是 RPM 能自动处理的。











