我正在尝试使用 MySQL 提供的 .rpm 在 CentOS 6.3 64 位上安装 MySQL 5.6。我将所有 64 位 Linux rpm 下载到/usr/local/src/mysql
并执行rpm -Uvh *
。
安装出现错误,我找不到错误消息。所以我尝试rpm -Uvh *
再次安装,结果显示
Preparing... ########################################### [100%]
package MySQL-devel-5.6.6_m9-1.linux2.6.x86_64 is already installed
package MySQL-embedded-5.6.6_m9-1.linux2.6.x86_64 is already installed
package MySQL-shared-compat-5.6.6_m9-1.linux2.6.x86_64 is already installed
package MySQL-shared-5.6.6_m9-1.linux2.6.x86_64 is already installed
package MySQL-client-5.6.6_m9-1.linux2.6.x86_64 is already installed
执行rpm -e MySQL*
结果表明它们都没有安装:
error: package MySQL-client-5.6.6_m9-1.linux2.6.x86_64.rpm is not installed
error: package MySQL-devel-5.6.6_m9-1.linux2.6.x86_64.rpm is not installed
error: package MySQL-embedded-5.6.6_m9-1.linux2.6.x86_64.rpm is not installed
error: package MySQL-server-5.6.6_m9-1.linux2.6.x86_64.rpm is not installed
error: package MySQL-shared-5.6.6_m9-1.linux2.6.x86_64.rpm is not installed
error: package MySQL-shared-compat-5.6.6_m9-1.linux2.6.x86_64.rpm is not installed
/etc/init.d/mysql start
我尝试使用和启动 mysql ,/etc/init.d/mysqld start
但返回的错误是没有这样的文件或目录。
我尝试rpm --rebuilddb
多次安装和删除但出现相同的错误。
我现在有点不知道下一步该怎么做。有什么建议吗?
更新
我设法通过卸载并重新安装 rpm 来安装 mysql。
现在当我尝试启动 mysql 时,
/etc/init.d/mysql start
Starting MySQL.The server quit without updating PID file (/[FAILED]mysql/localhost.localdomain.pid).`
我尝试过mv /etc/my.cnf /etc/my.cnf.bak
,/etc/init.d/mysql start
但出现了同样的错误。
答案1
您是否启用了 SELinux?MySQL 软件包可能不是为与 SELinux 良好配合而构建的(第三方软件包中这种情况并不罕见),并且阻止了创建 PID 文件的权限。一个快速而粗略的测试是将您的 SELinux 上下文设置为 Permissive(或 Disabled)
# setenforce permissive
如果不是这种情况,那么请查看文件权限本身。
有关 SELinux 的更多信息:
适用于 RHEL6 的 Red Hat SELinux 文档
SELinux 项目维基
答案2
查询 rpmdb 使用包姓名,而不是包文件名. 您可以使用 从包文件中获取包名称rpm -qp --qf "%{name}\n" <file>
。
答案3
这些软件包可能已经安装,但如果它们是你从 mysql.com 下载的,那么实际的软件包名称都是小写的,即使文件名称是大小写混合的。
除此之外,mysql.com 软件包与 CentOS 的二进制兼容性并不 100%,而且还有许多其他问题可能会出现。如果你不完全需要5.6 那么最好使用来自可信赖的 repo(例如 remi)的 5.5,直到兼容软件包可用为止。