免责声明:我是 CentOS 的新手,所以如果我忽略了一些简单的事情,请原谅我。
这是我的问题:
我最近刚刚将我的服务器重新格式化为 CentOS 6.5 x64,但在使用 postfix 时遇到了问题。
我正在遵循这个指南:http://www.krizna.com/centos/setup-mail-server-in-centos-6/安装 postfix MTA。
我已遵循所有步骤,但是当我尝试启动服务器(服务 postfix 启动)时出现此错误:
启动后缀:[失败]
我查看了我的邮件日志和消息日志,没有发现任何有关无法启动的错误。我是否应该查看其他日志?
当我运行命令时
后配置-n
我收到以下错误:
postconf:加载共享库时出错:libmysqlclient.so.16:无法打开共享对象文件:没有此文件或目录
我从源代码编译了最新版本的 MySQL,它可以与 apache 一起使用,但我找不到 libmysqlclient.so.16,只能找到 libmysqlclient.so.18。是不是因为我的 MySQL 版本对于 postfix 版本来说太新了?
Postfix 版本 2.6.6(使用 yum 安装)MySQL 版本 5.6.19(从源代码安装)
更奇怪的是,我有另一台运行相同操作系统的服务器(从同一磁盘安装),并且 postfix 启动正常。(使用 CentOS 附带的 postfix,我的另一台服务器上没有安装任何东西)。这可能是我的操作系统安装方式的问题吗?
这个问题让我抓狂,任何帮助都将不胜感激。
注意:所有这一切都是以 root 身份进行的,我真淘气!:-)
答案1
您对 linux/Centos 等缺乏经验,因此您必须使用 yum 安装程序,编译 MySQL 服务器并使用 yum 安装其他软件包 - 永远不要再这样做了。检查您已有的存储库,至少我知道 IUS 和 REMI 有最新的 mysql 软件包和所有依赖项。然后运行:
yum install mysql mysql-server
答案2
我通过安装 mysql-community-libs-compat 包解决了这个问题。您需要做的是:
yum provides "/usr/lib64/libmysqlclient.so.16"
之后你需要运行如下命令:
yum install mysql-community-libs-compat.x86_64
现在重新启动 postfix
答案3
您遇到问题的原因是 postfix(和其他几个包)针对该libmysqlclient.so.16
库进行编译。当您更新到较新版本的 MySQL 时,您仍然必须提供此库来满足依赖关系。
这IUS 项目有一个名为 的软件包mysqlclient16
可以为您解决这个问题。此外,我们还有适用于 MySQL 5.5、5.6 和 5.7 的软件包可供安装(分别为mysql55
、mysql56u
和mysql57u
)。大多数人没有时间从源代码进行编译,尤其是当您考虑到持续的维护成本以保持源安装更新和安全时。