我目前安装了 mysql 5.5。在 centos 5 上安装 php-mysql 时,由于依赖项错误而失败。似乎 repo 中的版本与系统上已安装的 MYSQL 冲突。
# yum 安装 php-mysql 已加载插件:rhnplugin、security 设置安装过程 解决依赖关系 --> 正在运行交易检查 ---> 软件包 php-mysql.x86_64 0:5.1.6-27.el5_5.3 设置为更新 --> 处理依赖关系:php-pdo,适用于软件包:php-mysql --> 处理依赖项:libmysqlclient.so.15(libmysqlclient_15)(64bit),适用于软件包:php-mysql --> 处理依赖项:libmysqlclient.so.15()(64bit),适用于软件包:php-mysql --> 正在运行交易检查 ---> 软件包 mysql.x86_64 0:5.0.77-4.el5_5.5 设置为更新 --> 处理依赖关系:perl(DBI),适用于软件包:mysql ---> 软件包 php-pdo.x86_64 0:5.1.6-27.el5_5.3 设置为更新 --> 正在运行交易检查 ---> 软件包 perl-DBI.x86_64 0:1.52-2.el5 设置为更新 --> 处理冲突:mysql 冲突 MySQL --> 完成依赖解析 rhel-x86_64-server-5 中的 mysql-5.0.77-4.el5_5.5.x86_64 存在 depsolving 问题 --> mysql 与 MySQL-server 冲突 错误:mysql 与 MySQL-server 冲突 您可以尝试使用 --skip-broken 来解决这个问题 您可以尝试运行:package-cleanup --problems 包清理--dupes rpm -Va --nofiles --nodigest 在 yum-utils 包中可以找到程序 package-cleanup。
答案1
通常,可以通过安装 MySQL 的 MySQL-shared-compat 包来修复此问题。这将覆盖 Redhat 的客户端库并提供其他包所需的内容。然后 yum 就不会(希望)被诱惑安装 Redhat 的不可靠的 mysql 服务器。
答案2
抱歉,我没有 Centos 系统来查看软件包,但 Centos/RHEL 有相当好的软件包依赖关系树,也许最好的办法就是信任它们。我发现你有一个软件包“mysql”,这很奇怪。 请参阅此页面在 Centos 上安装 MySQL。
从 MySQL 转储中恢复是一个非常可靠的过程。如果我是你,我会对所有数据库执行 mysqldump,删除全部mysql 包,然后尝试安装 php-mysql 并让它引入它认为正确的包。然后您可以从所做的转储中恢复数据。