CentOS 6.4にMySQL 5.5をrpmインストール
CentOS 6.4にMySQLをrpmで入れることにする。MySQLは、5.6系はまだ初物すぎるので5.5系を入れようか。
ダウンロード
まずはOSデフォルトのyumリポジトリから入れようかと、バージョンを確認。
[ozuma@paracent ~]$ yum info mysql.x86_64 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Available Packages Name : mysql Arch : x86_64 Version : 5.1.67 Release : 1.el6_3 Size : 886 k Repo : updates Summary : MySQL client programs and shared libraries URL : http://www.mysql.com License : GPLv2 with exceptions Description : MySQL is a multi-user, multi-threaded SQL database server. MySQL is a : client/server implementation consisting of a server daemon (mysqld) : and many different client programs and libraries. The base package : contains the standard MySQL client programs and generic MySQL files.
なんと「Version : 5.1.67」……これは古すぎるので、やめよう。MySQLの公式ページにてrpmを配っているので、そちらを入れることにする。
TOPページから「Downloads (GA)」→「MySQL Community Server」と辿る。最新版のMySQL 5.6をオススメされるので、下の「Looking for previous GA versions?」をクリックする。
Versionに5.5.30、PlatformにLinux Genericを選択する。
ダウンロードするrpmパッケージは、以下の3つ。ここで、Linux - Generic 2.6 (x86, 64-bit), RPM Package Shared componentsではなく、shared-compatという方をダウンロードする。理由は後述。
- Linux - Generic 2.6 (x86, 64-bit), RPM Package MySQL Server (MySQL-server-5.5.30-1.linux2.6.x86_64.rpm)
- Linux - Generic 2.6 (x86, 64-bit), RPM Package Client Utilities (MySQL-client-5.5.30-1.linux2.6.x86_64.rpm)
- Linux - Generic 2.6 (x86, 64-bit), RPM Package Compatibility Libraries (MySQL-shared-compat-5.5.30-1.linux2.6.x86_64.rpm)
ちなみにダウンロードしようとするとOrace Web Accountでログインするよう求められるのだけど、下の方のリンク「No thanks, just start my download.」をクリックすればそのままダウンロードできる。これは小ネタ。
CentOSのデフォルトmysql-libsとの競合
ダウンロードしてきたrpmを、yumコマンドでインストールすれば良い。……のだが、この際、CentOSではちょっと面倒なことになっている。以下のようにCentOS 6.4では、デフォルトでmysql-libsがインストールされている。
[ozuma@paracent ~]$ yum list installed|grep mysql mysql-libs.x86_64 5.1.66-2.el6_3 @anaconda-CentOS-201303020151.x86_64/6.4
この状態でMySQL Serverを入れようとすると、以下のようにエラーになりインストールできない。
[root@paracent download]# yum localinstall MySQL-server-5.5.30-1.linux2.6.x86_64.rpm .......(省略)....... Transaction Check Error: file /usr/share/mysql/charsets/README from install of MySQL-server-5.5.30-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.66-2.el6_3.x86_64 .......(省略)....... file /usr/share/mysql/charsets/Index.xml from install of MySQL-server-5.5.30-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.66-2.el6_3.x86_64 file /usr/share/mysql/charsets/armscii8.xml from install of MySQL-server-5.5.30-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.66-2.el6_3.x86_64 file /usr/share/mysql/spanish/errmsg.sys from install of MySQL-server-5.5.30-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.66-2.el6_3.x86_64 file /usr/share/mysql/swedish/errmsg.sys from install of MySQL-server-5.5.30-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.66-2.el6_3.x86_64 file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.30-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.66-2.el6_3.x86_64 Error Summary -------------
/usr/share/mysql/charsets/ の中のファイルが、デフォルトで入っているmysql-libsとカブっているため入らないようだ。
ということで、OS標準のmysql-libsをyum eraseで消そうと思うと……。
[root@paracent ozuma]# yum erase mysql-libs.x86_64 .......(省略)....... Dependencies Resolved ============================================================================================================ Package Arch Version Repository Size ============================================================================================================ Removing: mysql-libs x86_64 5.1.66-2.el6_3 @anaconda-CentOS-201303020151.x86_64/6.4 4.0 M Removing for dependencies: cronie x86_64 1.4.4-7.el6 @anaconda-CentOS-201303020151.x86_64/6.4 166 k cronie-anacron x86_64 1.4.4-7.el6 @anaconda-CentOS-201303020151.x86_64/6.4 43 k crontabs noarch 1.10-33.el6 @anaconda-CentOS-201303020151.x86_64/6.4 2.4 k postfix x86_64 2:2.6.6-2.2.el6_1 @anaconda-CentOS-201303020151.x86_64/6.4 9.7 M Transaction Summary ============================================================================================================ Remove 5 Package(s) Installed size: 14 M Is this ok [y/N]:
なんと、cronie(cron)が依存しているだと……! デフォルトのmysql-libsを消したら、crontabsまで消えてしまう。そりゃ消すわけにいかんだろ……。
そこで、この状態を解消してくれるのがMySQL-shared-compat。これを入れればデフォルトのmysql-libsをアップデートしてくれるので、その上に公式ページのMySQL Serverを問題無く入れることができる。
# yum localinstall MySQL-shared-compat-5.5.30-1.linux2.6.x86_64.rpm
とすると、以下の感じにOSデフォルトのmysql-libsを置き換えてくれる。
Loaded plugins: fastestmirror Setting up Local Package Process Examining MySQL-shared-compat-5.5.30-1.linux2.6.x86_64.rpm: MySQL-shared-compat-5.5.30-1.linux2.6.x86_64 Marking MySQL-shared-compat-5.5.30-1.linux2.6.x86_64.rpm to be installed Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Resolving Dependencies --> Running transaction check ---> Package MySQL-shared-compat.x86_64 0:5.5.30-1.linux2.6 will be obsoleting ---> Package mysql-libs.x86_64 0:5.1.66-2.el6_3 will be obsoleted --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================ Package Arch Version Repository Size ============================================================================================================ Installing: MySQL-shared-compat x86_64 5.5.30-1.linux2.6 /MySQL-shared-compat-5.5.30-1.linux2.6.x86_64 11 M replacing mysql-libs.x86_64 5.1.66-2.el6_3 Transaction Summary ============================================================================================================ Install 1 Package(s) Total size: 11 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : MySQL-shared-compat-5.5.30-1.linux2.6.x86_64 1/2 Erasing : mysql-libs-5.1.66-2.el6_3.x86_64 2/2 Verifying : MySQL-shared-compat-5.5.30-1.linux2.6.x86_64 1/2 Verifying : mysql-libs-5.1.66-2.el6_3.x86_64 2/2 Installed: MySQL-shared-compat.x86_64 0:5.5.30-1.linux2.6 Replaced: mysql-libs.x86_64 0:5.1.66-2.el6_3 Complete!
こうして、mysql-libsが公式ページのMySQL-shared-compatで置き換わった状態にすれば、後は普通にServer, Clientをインストールすれば良い。
# yum localinstall MySQL-server-5.5.30-1.linux2.6.x86_64.rpm # yum localinstall MySQL-client-5.5.30-1.linux2.6.x86_64.rpm
これでインストール完了。