На моем сервере CentOS 6.4 я использую MySQL 5.5.33, который я установил из remi репозиторий. Я решил обновить MySQL до версии 5.6.x через собственные репозитории MySQL yum:
После установки репозиториев у меня есть это как мой список репо:
# 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-community. Итак, теперь я пробую это:
# 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......
Таким образом, он отображает только мою установленную версию и не сообщает, что доступны какие-либо другие более новые версии. Я ожидал увидеть версию 5.6.x, доступную в репозитории mysql56-community.
Что мне здесь не хватает? Здесь есть какой-то конфликт репо?
ОБНОВИТЬ:
# 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
пакет, который я уже установил?
Два репозитория, remi и mysql56-community, нельзя использовать вместе, поскольку они используют несовместимые схемы именования пакетов. yum info mysql
не будет отображать ничего из репозитория сообщества MySQL, потому что ни один из пакетов не назван mysql
по новой схеме именования. Пытаться yum info mysql\*
вместо.
Следовательно, вы не можете обновить MySQL напрямую из Remi в репозиторий сообщества MySQL. Вместо этого вам нужно следовать MySQL инструкция по замене стороннего дистрибутива MySQL, в частности, раздел «Неродные сторонние дистрибутивы». Это включает в себя удаление пакетов Remi, а затем установку пакетов сообщества MySQL под их новыми именами.
Если вам нужно сохранить репозиторий Remi для других пакетов, вы должны убедиться, что yum больше не будет использовать свои пакеты MySQL, добавив либо exclude=mysql*
или соответствующий includepkgs
строка к определению репо.
Они упакованы разными разработчиками и могут конфликтовать в том смысле, что предоставляют одни и те же файлы и т. Д., И, возможно, mysql rpm: s из официальных репозиториев не будет считать себя обновлением mysql rpm: s, установленного из remi.
Я думаю, выгрузите базы данных, удалите все mysql rpm: s из remi repo, отключите remi repo, yum очистите все, установите mysql из официальных репозиториев и импортируйте базы данных.
В предоставленной вами ссылке предлагается использовать "--enablerepo='mysql*-community*'
"Я бы попробовал. Также вы можете редактировать .repo
файлы в /etc/yum.repos.d/
. В /etc/yum.repos.d/remi.repo
удостовериться enabled=0
установлен, а не один, чтобы выключить репо. Также для файла репозитория сообщества mysql убедитесь, что для параметра enabled установлено значение 1.