CentOS 6.3にMySQL 5.6インストールでmysql-libs-5.1.61-4.el6.x86_64と競合する問題
CentOS 6.3にMySQL 5.6のLinux GenericなRPMをインストールしようとすると,
# rpm -ivh MySQL-server-5.6.12-1.linux_glibc2.5.x86_64.rpm 準備中... ########################################### [100%] ファイル /usr/share/mysql/charsets/README (パッケージ MySQL-server-5.6.12-1.linux_glibc2.5.x86_64 から) は、パッケージ mysql-libs-5.1.61-4.el6.x86_64 からのファイルと競合しています。 ファイル /usr/share/mysql/czech/errmsg.sys (パッケージ MySQL-server-5.6.12-1.linux_glibc2.5.x86_64 から) は、パッケージ mysql-libs-5.1.61-4.el6.x86_64 からのファイルと競合しています。 ※※※ 中略 ※※※ ファイル /usr/share/mysql/charsets/macroman.xml (パッケージ MySQL-server-5.6.12-1.linux_glibc2.5.x86_64 から) は、パッケージ mysql-libs-5.1.61-4.el6.x86_64 からのファイルと競合しています。 ファイル /usr/share/mysql/charsets/swe7.xml (パッケージ MySQL-server-5.6.12-1.linux_glibc2.5.x86_64 から) は、パッケージ mysql-libs-5.1.61-4.el6.x86_64 からのファイルと競合しています。
のような感じで元から入っているMySQL 5.1の共有ライブラリと競合してしまう.
この共有ライブラリを一旦消して入れなおそうにも
# rpm -e mysql-libs-5.1.61-4.el6.x86_64 エラー: 依存性の欠如: libmysqlclient.so.16()(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています libmysqlclient.so.16(libmysqlclient_16)(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています mysql-libs は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています
# rpm -e postfix-2.6.6-2.2.el6_1.x86_64 エラー: 依存性の欠如: /usr/sbin/sendmail は (インストール済み)cronie-1.4.4-7.el6.x86_64 に必要とされています /usr/sbin/sendmail は (インストール済み)redhat-lsb-4.0-3.el6.centos.x86_64 に必要とされています
依存性にはばまれて中々めんどくさい.
この問題を以下のようにして解決できたのでメモ.
MySQL 5.6の互換共有ライブラリをインストール
# rpm -ivh MySQL-shared-compat-5.6.12-1.linux_glibc2.5.x86_64.rpm 準備中... ########################################### [100%] 1:MySQL-shared-compat ########################################### [100%]
「互換」がポイント. rpm -qiしてみると
This package includes the shared client libraries for previous MySQL versions. Install this package, if you have applications that are dynamically linked against older versions of the MySQL client library and you want to upgrade to MySQL 5.6.12 without breaking the library dependencies.
と書かれていて,まさにって感じ.
MySQL 5.1の共有ライブラリを削除
# rpm -e mysql-libs-5.1.61-4.el6.x86_64 #
MySQLクライアント向けの共有ライブラリをMySQL 5.6の互換共有ライブラリに置き換えたことで,元から入っていたMySQL 5.1の共有ライブラリに対する依存性が解消されている.
MySQL 5.6 Serverのインストール
競合していたパッケージを削除できたので,あとはインストールするだけ
# rpm -ivh MySQL-server-5.6.12-1.linux_glibc2.5.x86_64.rpm 準備中... ########################################### [100%] 1:MySQL-server ########################################### [100%] ※※※ 後略 ※※※