在我的CentOS 6.4服务器上,我正在运行从remi 存储库安装的MySQL 5.5.33。 我决定通过MySQL自己的yum版本库升级MySQL到5.6.x:
安装版本库之后,我把它作为我的回购列表:
# yum repolist enabled Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * Webmin: download.webmin.com * base: mirrors.xmission.com * epel: mirror.steadfast.net * extras: mirror.thelinuxfix.com * remi: remi.check-update.co.uk * updates: mirrors.xmission.com repo id repo name status Webmin Webmin Distribution Neutral 175 base CentOS-6 - Base 6,367 epel Extra Packages for Enterprise Linux 6 - x86_64 10,737 extras CentOS-6 - Extras 14 mysql-connectors-community MySQL Connectors Community 6 mysql-tools-community MySQL Tools Community 6 mysql56-community MySQL 5.6 Community Server 46 remi Les RPM de remi pour Enterprise Linux 6 - x86_64 1,485 updates CentOS-6 - Updates 864 repolist: 19,700
所以MySQL 5.6版本库已经安装并启用。 现在,如果我试图检查已安装的MySQL的信息,以查看最新版本可用,我得到这个:
# yum info mysql Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * Webmin: download.webmin.com * base: mirrors.xmission.com * epel: mirror.steadfast.net * extras: mirror.thelinuxfix.com * remi: remi.check-update.co.uk * updates: mirrors.xmission.com Installed Packages Name : mysql Arch : x86_64 Version : 5.5.33 Release : 1.el6.remi Size : 29 M Repo : installed From repo : remi Summary : MySQL clie....... Available Packages Name : mysql Arch : x86_64 Version : 5.5.37 Release : 1.el6.remi Size : 5.8 M Repo : remi Summary : MySQL client progr....
所以看来,yum仍在寻找最新版本的remi存储库。 它甚至没有看到我猜MySQL56社区库。 所以接下来我试试这个:
# yum info mysql --disablerepo=\* --enablerepo=mysql56-community
这应该忽略除了Mysql回购以外的所有其他仓库。 但是我得到:
# yum info mysql --disablerepo=\* --enablerepo=mysql56-community Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile Installed Packages Name : mysql Arch : x86_64 Version : 5.5.33 Release : 1.el6.remi Size : 29 M Repo : installed From repo : remi Summ......
所以它只列出我的安装版本,并不报告任何其他更新的版本可用。 我期待从mysql56-community存储库中看到可用的5.6.x版本。
我在这里错过了什么? 这里是否有某种回购冲突?
更新:
# yum --disablerepo=\* --enablerepo='mysql*-community*' list available Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile mysql55-community | 2.5 kB 00:00 mysql57-community-dmr | 2.5 kB 00:00 Available Packages mysql-community-client.x86_64 5.6.17-4.el6 mysql56-community mysql-community-common.i686 5.6.17-4.el6 mysql56-community mysql-community-common.x86_64 5.6.17-4.el6 mysql56-community mysql-community-devel.i686 5.6.17-4.el6 mysql56-community mysql-community-devel.x86_64 5.6.17-4.el6 mysql56-community mysql-community-embedded.i686 5.6.17-4.el6 mysql56-community mysql-community-embedded.x86_64 5.6.17-4.el6 mysql56-community mysql-community-embedded-devel.i686 5.6.17-4.el6 mysql56-community mysql-community-embedded-devel.x86_64 5.6.17-4.el6 mysql56-community mysql-community-libs.i686 5.6.17-4.el6 mysql56-community mysql-community-libs.x86_64 5.6.17-4.el6 mysql56-community mysql-community-libs-compat.i686 5.6.17-4.el6 mysql56-community mysql-community-libs-compat.x86_64 5.6.17-4.el6 mysql56-community mysql-community-server.x86_64 5.6.17-4.el6 mysql56-community mysql-community-test.x86_64 5.6.17-4.el6 mysql56-community mysql-connector-odbc.x86_64 5.3.2-1.el6 mysql-connectors-community mysql-connector-python.noarch 1.1.6-1.el6 mysql-connectors-community mysql-utilities.noarch 1.3.6-1.el6 mysql-tools-community mysql-workbench-community.x86_64 6.1.4-1.el6 mysql-tools-community
所以有可用的mysql-community- *包,但没有包只叫mysql-server 。 如果我安装这些mysql-community*软件包,那么与我目前安装的mysql-server软件包有什么冲突呢?
rempos和mysql56-community两个版本不能一起使用,因为它们使用不兼容的软件包命名scheme。 yum info mysql不会显示任何MySQL社区repo,因为在新的命名scheme下没有任何软件包被命名为mysql 。 试试yum info mysql\* 。
因此,你不能直接从Remi更新到MySQL社区库。 相反,您需要遵循MySQL 关于replace MySQL的第三方分发的说明 ,特别是关于“非本地第三方分发”的章节。 这包括卸载Remi包,然后通过新名称安装MySQL社区包。
如果你需要保留其他软件包的Remi仓库,你应该确保yum不会再使用它的MySQL软件包,通过在repo定义中添加exclude=mysql*或者一个合适的includepkgs行。
它们由不同的维护者打包,可能会冲突,因为他们提供相同的文件等等,可能从官方回购的mysql rpm:s不会认为自己从remi安装的mysql rpm的升级。
我认为转储数据库,从remi repo卸载所有mysql rpm:s,禁用remi repo,yum clean all,从官方仓库安装mysql并导入数据库。
你提供的链接build议使用“ --enablerepo='mysql*-community*' ”我会尝试。 您也可以在/etc/yum.repos.d/编辑.repo文件。 在/etc/yum.repos.d/remi.repo确保enabled=0被设置,而不是一个closures回购。 另外对于mysql社区回购文件,确保启用设置为1。