MySQL 5.1 on Cent OS 5.3

MySQL 5.1がGAになってからしばらく経ったのに使った事無かったので、今やっている実験プロジェクトで採用してみた。

CentOSの標準パッケージだとmysqlのバージョンは5.0。mysql関連パッケージもmysql-5.0に依存しているので、その辺をクリアする必要がある。

とりあえず手順やエラーメッセージのみを簡潔に説明。

1. 既存のMySQLパッケージを(インストールされていれば)アンインストール

2. MySQL公式サイトからのRPMパッケージをインストール
この辺りからパッケージをダウンロード。使用したのは以下のもの。

  • MySQL-client-community-5.1.34-0.rhel5.i386.rpm
  • MySQL-server-community-5.1.34-0.rhel5.i386.rpm
  • MySQL-shared-community-5.1.34-0.rhel5.i386.rpm

rpm -ivhで普通にインストールすればOK。

ここまでは特に問題ないと思うんだけど、php-mysqlをインストールしようとして問題発生。

3. php-mysqlのインストール

[root@host downloads]# yum install php-mysql
(中略)
mysql-5.0.45-7.el5.i386 from base has depsolving problems
--> mysql conflicts with MySQL-server-community
Error: mysql conflicts with MySQL-server-community

php-mysqlはCentOS標準のmysqlパッケージに依存してるんだけど、mysqlは先ほどインストールしたMySQL-server-communityと競合している。

rpmコマンドなら出来るけど、yumコマンドだと依存性を無視したインストールが出来ない。なので、php-mysqlをダウンロードしてrpmコマンドでインストールする必要がある。その為にはyum-utilsパッケージに含まれているyumdownloaderコマンドを使う。

[root@host downloads]# yum install yum-utils
[root@host downloads]# yumdownloader php-mysql
[root@host downloads]# rpm -ivh php-mysql-5.1.6-23.2.el5_3.i386.rpm
エラー: 依存性の欠如:
libmysqlclient.so.15 は php-mysql-5.1.6-23.2.el5_3.i386 に必要とされています
libmysqlclient.so.15(libmysqlclient_15) は php-mysql-5.1.6-23.2.el5_3.i386 に必要とされて います
php-pdo は php-mysql-5.1.6-23.2.el5_3.i386 に必要とされています

とりあえずphp-pdoは普通にyumでインストール。

libmysqlclient.soに関してだけど、MySQL 5.1をインストールするとインストールされるのはlibmysqlclient.so.16。php-mysql-5.1が必要としているのはlibmysqlclient.so.15。ここで選択肢は2つかなぁと思う。

  • 16から15にシンボリックリンクを貼る
  • libmysqlclient.so.15をインストール

前者は簡単なので、今回は後者の方法を試してみた。libmysqlclient.so.15はmysql-5.0.45-7.el5.i386.rpmに含まれている。従って以下のような方法で取り出して、/usr/lib以下にコピー。

[root@host downloads]# yumdownloader mysql
[root@host downloads]# rpm2cpio mysql-5.0.45-7.el5.i386.rpm | cpio -id
[root@host downloads]# cp -a usr/lib/mysql/libmysqlclient* /usr/lib

これで準備完了。後は依存関係を無視してphp-mysqlをインストールして、apacheを再起動すれば、PHPのMySQL関連関数を使えるようになる。

[root@host downloads]# rpm -ivh --nodeps php-mysql-5.1.6-23.2.el5_3.i386.rpm
[root@host downloads]# /etc/init.d/httpd restart

“MySQL 5.1 on Cent OS 5.3” への2件の返信

  1. CentOS6-MySQLのインストール〜設定(コマンド篇)

    最初にLAMP環境を目指して環境構築を進めていますが、
    単体での動作もしておりません。
    また、セキュリティ等多々問題があるかもしれませんが、
    その点…

  2. CentOS6-MySQLのインストール〜設定(コマンド篇)

    最初にLAMP環境を目指して環境構築を進めていますが、
    単体での動作もしておりません。
    また、セキュリティ等多々問題があるかもしれませんが、
    その点…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です