我使用的是64位的亚马逊Linux机器。
我以前安装过mysql-server 5.5。 (使用sudo yum install
)
但是,我很快发现我的应用程序需要MySql-serve 5.6。
所以我卸载了mysql-server 5.5。 (使用sudo yum remove mysql-server
),现在我正在关注these instruction安装mysql-server 5.6。
但我遇到了一个问题。
当我尝试进行第二次安装时,我收到以下2个错误:
file /usr/lib64/mysql/libmysqlclient.so.18 from install of mysql-community-libs-5.6.14-3.el6.x86_64 conflicts with file from package mysql55-libs-5.5.46-1.10.amzn1.x86_64
file /etc/my.cnf from install of mysql-community-server-5.6.14-3.el6.x86_64 conflicts with file from package mysql-config-5.5.46-1.10.amzn1.x86_64
为什么我得到这两个错误?我该如何解决? 我删除了mysql-server-5.5,为什么它与5.6冲突?
我在ls
和/etc/my.cnf
上做了/usr/lib64/mysql/libmysqlclient.so.18
,文件甚至都不存在!!如果文件不存在,它们怎么会与其他文件冲突?谁能帮忙解释一下?
PS,我在这里尝试了@ msknapp的解释:Can't install MySQL 5.6 by RPM,但我不知道在步骤#1安装rpm后该怎么做。我认为这一步没有说明。
答案 0 :(得分:1)
mysql-server(无论什么版本)依赖于其他软件包(在你的情况下是mysql-community-libs mysql-community-server)
当它安装在旧版本的第一个地方时,就会安装这个东西。当您“卸载”mysql-server时,不会删除这些依赖项。
当您尝试安装新版本时,这些仍然存在的软件包将与新软件包冲突。如果包中的实际文件在那里并不重要,那就是包和它列出的预期冲突的内容。
要解决您的问题,找出mysql-server的依赖关系,并在尝试安装之前卸载它们。
这个答案https://superuser.com/questions/294662/how-to-get-list-of-dependencies-of-non-installed-rpm-package可能对计算mysql-server所依赖的内容感兴趣