SUSE 15 SP2安装MySQL 8.0.29报错缺少libc.so.6(GLIBC_2.28)(64bit)
故障根因
SLES 15 SP2默认预装的glibc版本为2.26,尝试安装的mysql-community-server-8.0.29-1.sl15.x86_64是针对SLES 15 SP3及以上版本编译构建的,二进制包中依赖libc.so.6(GLIBC_2.28)(64bit)符号版本,SLES 15 SP2的官方源、兼容源均不提供该版本的glibc依赖。
glibc是系统最核心的底层动态链接库,跨版本手动升级会直接破坏系统底层依赖链,导致大量系统基础命令、服务无法运行。
可落地解决方案
- 安装适配SLES 15 SP2的MySQL版本
8.0.26及更早版本的MySQL SLES15安装包均基于glibc 2.26编译,完全兼容SLES 15 SP2环境。安装前先执行zypper clean --all清理已有软件源缓存,移除错误匹配高版本SLES的MySQL仓库配置后,重新添加适配SLES 15 SP2的MySQL源,指定兼容版本安装即可。 - 使用通用二进制包部署高版本MySQL
如果必须使用8.0.29及更新版本的MySQL,无需升级系统,可选择标注为linux-glibc2.12的MySQL通用二进制构建包,该版本包内置了所需的高版本glibc依赖,解压后初始化即可运行,不依赖系统原生glibc版本。 - 升级操作系统版本
若后续需要长期跟进MySQL官方最新版本,可将SLES 15 SP2升级至SP3或SP4版本,上述版本默认搭载glibc 2.31,可直接满足8.0.29及更新版本MySQL的依赖要求。
禁止操作提示
不要选择系统给出的「忽略依赖强制安装」方案,强制安装的MySQL服务要么无法正常启动,要么运行过程中随机出现段错误、数据写入异常等问题,完全不具备可用性,还可能破坏系统原有软件依赖链。
不要尝试手动编译升级系统自带的glibc版本到2.28,操作失误会直接导致所有依赖glibc的系统程序(包括zypper、ls、cd等基础运维命令)全部失效,只能通过救援模式修复系统。
内容的提问来源于stack exchange,提问作者Vishal Kothawade
相关产品推荐
相关产品推荐

