You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RHEL系统安装MySQL时提示libmysqlclient.so.18依赖缺失报错

问题原因

RHEL 7 系统默认预装的postfix服务依赖mariadb-libs包提供的libmysqlclient.so.18()(64bit)动态库。安装MySQL 5.7社区版时,官方源里的mysql-community-libs包会默认替换系统自带的mariadb-libs,但这个包仅提供更高版本的libmysqlclient.so.20,不向下兼容老版本的so.18库,直接触发依赖冲突。
注意:不要直接加--skip-broken参数绕过检测,该参数会跳过依赖校验,大概率导致安装完成后MySQL服务启动失败、后续软件包依赖关系混乱。

解决方法

按优先级从高到低选择对应方案即可:

  • 方案1(生产环境推荐,无副作用):先安装兼容依赖包
    MySQL官方专门提供了兼容库包,补全老版本动态库支持,不会和现有系统服务产生冲突,执行顺序如下:

    1. 先安装兼容库:
      sudo yum install mysql-community-libs-compat -y
    2. 兼容包安装完成后,再执行原服务端安装命令:
      sudo yum install mysql-community-server -y
  • 方案2(无邮件服务需求场景适用):卸载冲突的postfix组件
    如果你的服务器不需要postfix提供邮件发送能力,可以直接移除该组件绕开依赖限制:

    1. 卸载postfix:
      sudo yum remove postfix -y
    2. 再执行MySQL服务端安装命令:
      sudo yum install mysql-community-server -y
  • 方案3(仅测试环境应急用,不推荐生产):关闭包替换规则
    安装时临时关闭源的包废弃替换规则,保留原有mariadb-libs不被替换,操作命令如下:
    sudo yum install mysql-community-server --setopt=obsoletes=0 -y
    该方案后续容易出现多版本库共存混乱问题,非必要不要用。

安装后校验

安装完成后执行以下操作确认服务正常:

  1. 启动MySQL服务:sudo systemctl start mysqld
  2. 设置开机自启:sudo systemctl enable mysqld
  3. 检查postfix依赖是否正常:ldd /usr/sbin/postfix | grep libmysqlclient,命令输出正常的库文件路径即代表依赖无异常。

内容的提问来源于stack exchange,提问作者Sekhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 14:06:28