PHP5.3.4 およびMySQL5.5.8へのRPMアップデート(CentOS5.5)

January 8, 2011 – 9:14 pm

久しぶりにPHPとMySQLの更新作業を行った。更新にあたっては、前回の更新作業(PHP5.3.0へのRPMアップデート(CentOS5.3))と同様にLes RPM de Remiのrepositoryを使用した。作業記録をメモしておく。

PHP5.3.4へのRPMアップデート: 当初、yum を用いてremi に登録されている php の最終版(v. 5.3.4)へのupdateを試みた。しかし、dependency errorで正常にアップデートされなく、これを解決するため多少乱暴な(かなりかな?)手続きではあるが、インストール済みのPHP、MySQLに係わる全モジュールをひとまず削除し、改めてphp関連モジュールを再インストールすることにした。

再インストール作業は無事完了したが、残念ながら、再インストールに係わるログを取ることを失念していた。このため、今回のPHP5.3.4へのアップデート(実際にはインストール)作業については、インストール時にyumのlog fileに残されていたものを記録するにとどめる:

Jan 02 11:56:29 Installed: php-common-5.3.4-1.el5.remi.i386
Jan 02 11:56:38 Updated: mysql-libs-5.1.54-1.el5.remi.i386
Jan 02 11:56:39 Installed: mysql-5.1.54-1.el5.remi.i386
Jan 02 11:56:39 Installed: php-pdo-5.3.4-1.el5.remi.i386
Jan 02 11:56:39 Installed: php-mbstring-5.3.4-1.el5.remi.i386
Jan 02 11:56:40 Installed: libedit-2.11-2.20080712cvs.el5.i386
Jan 02 11:56:41 Installed: php-cli-5.3.4-1.el5.remi.i386
Jan 02 11:56:41 Installed: php-5.3.4-1.el5.remi.i386
Jan 02 11:56:41 Installed: php-mysql-5.3.4-1.el5.remi.i386
Jan 02 11:56:44 Installed: mysql-server-5.1.54-1.el5.remi.i386
Jan 02 11:56:45 Installed: php-tidy-5.3.4-1.el5.remi.i386
Jan 02 11:56:47 Installed: 1:php-pear-1.9.1-6.el5.remi.noarch
Jan 02 11:56:47 Installed: php-pear-Net-Socket-1.0.10-1.el5.remi.noarch
Jan 02 11:56:48 Installed: php-pear-MDB2-2.4.1-2.el5.centos.noarch
Jan 02 11:56:49 Installed: php-pear-Auth-SASL-1.0.4-1.el5.remi.noarch
Jan 02 11:56:49 Installed: php-pear-Net-SMTP-1.4.4-1.el5.remi.noarch
Jan 02 11:56:50 Installed: php-pear-Mail-1.2.0-1.el5.remi.noarch
Jan 02 11:56:50 Installed: php-pear-Net-URL-1.0.15-1.el5.centos.noarch
Jan 02 11:56:51 Installed: php-pear-DB-1.7.13-1.el5.centos.noarch
Jan 02 11:56:52 Installed: php-pear-File-1.3.0-2.el5.remi.noarch
Jan 02 11:56:53 Installed: php-pear-HTTP-Request-1.4.4-1.el5.remi.noarch
Jan 02 11:56:53 Installed: php-pear-Net-Sieve-1.3.0-1.el5.remi.noarch
Jan 02 11:56:55 Installed: php-devel-5.3.4-1.el5.remi.i386
Jan 02 11:56:55 Installed: php-pear-MDB2-Driver-mysql-1.4.1-3.el5.centos.noarch
Jan 02 11:56:56 Installed: php-pear-Mail-Mime-1.8.1-1.el5.remi.noarch
Jan 02 11:56:57 Installed: php-pear-Log-1.12.5-1.el5.remi.noarch

なお、PHPのオフィシャルダウンロードサイトをみると、1月6日に新版 PHP5.3.5のソースコードがリリースされている。くLes RPM de Remiにより、近日中に、CentOSで利用可能なRPMが公開されるものと期待される。その時点で、改めて、これを更新することにする。

MySQL5.5.8へのRPMアップデート: 同じく Les RPM de RemiでMySQL5.5.8の安定版が利用可能になっていることに気づいた。CentOS上で動作するMySQL5.5.8はremi-test repositoryを通じてアップデートできる。

Les RPM de Remiの記述に沿って、MySQLの更新作業を行った。
以下、作業時のメモを示す。

まず、アップデート開始時のMySQLのVersionをチェック:

[root]# mysql --version
mysql  Ver 14.14 Distrib 5.1.54, for redhat-linux-gnu (i686) using readline 5.1

次に、yumによるアップデート:

[root]# yum --enablerepo remi-test update mysql-\*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: ftp.tsukuba.wide.ad.jp
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.kddilabs.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
addons                                                                                            |  951 B     00:00     
base                                                                                              | 2.1 kB     00:00     
extras                                                                                            | 2.1 kB     00:00     
remi-test                                                                                         | 2.6 kB     00:00     
updates                                                                                           | 1.9 kB     00:00     
updates/primary_db                            94% [=================================-  ]  0.0 B/s | 864 kB     --:-- ETA 
updates/primary_db                            97% [=================================== ]  52 kB/s | 896 kB     00:00 ETA 
updates/primary_db                                                                                | 915 kB     00:00     
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package mysql.i386 0:5.5.8-1.el5.remi set to be updated
---> Package mysql-embedded.i386 0:5.5.8-1.el5.remi set to be updated
--> Processing Dependency: libmysqlclient.so.16 for package: php-mysql
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: php-mysql
---> Package mysql-libs.i386 0:5.5.8-1.el5.remi set to be updated
---> Package mysql-server.i386 0:5.5.8-1.el5.remi set to be updated
--> Running transaction check
---> Package compat-mysql51.i386 0:5.1.54-1.el5.remi set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================
 Package                        Arch                 Version                             Repository                 Size
=========================================================================================================================
Updating:
 mysql                          i386                 5.5.8-1.el5.remi                    remi-test                 7.8 M
 mysql-embedded                 i386                 5.5.8-1.el5.remi                    remi-test                 3.5 M
 mysql-libs                     i386                 5.5.8-1.el5.remi                    remi-test                 1.2 M
 mysql-server                   i386                 5.5.8-1.el5.remi                    remi-test                  12 M
Installing for dependencies:
 compat-mysql51                 i386                 5.1.54-1.el5.remi                   remi-test                 1.8 M

Transaction Summary
=========================================================================================================================
Install       1 Package(s)
Upgrade       4 Package(s)

Total download size: 27 M
Is this ok [y/N]: y
Downloading Packages:

< 省略 >

(5/5): mysql-server-5.5.8-1.el5.remi.i386. (99%) 99% [================================-] 1.5 MB/s |  12 MB     00:00 ETA 
(5/5): mysql-server-5.5.8-1.el5.remi.i386.rpm                                                     |  12 MB     00:09     
-------------------------------------------------------------------------------------------------------------------------
Total                                                                                    803 kB/s |  27 MB     00:34     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : compat-mysql51                                                                                    1/9 

WARNING : This MySQL RPM is not an official Fedora/Redhat build and it
overrides the official one. Don't file bugs on Fedora Project nor Redhat.
Use dedicated forums http://forums.famillecollet.com/

  Updating       : mysql-libs                                                                                        2/9 
warning: /etc/my.cnf created as /etc/my.cnf.rpmnew
  Updating       : mysql                                                                                             3/9 
  Updating       : mysql-embedded                                                                                    4/9 
  Updating       : mysql-server                                                                                      5/9 
  Cleanup        : mysql                                                                                             6/9 
  Cleanup        : mysql-server                                                                                      7/9 
  Cleanup        : mysql-embedded                                                                                    8/9 
  Cleanup        : mysql-libs                                                                                        9/9 

Dependency Installed:
  compat-mysql51.i386 0:5.1.54-1.el5.remi                                                                                

Updated:
  mysql.i386 0:5.5.8-1.el5.remi           mysql-embedded.i386 0:5.5.8-1.el5.remi    mysql-libs.i386 0:5.5.8-1.el5.remi   
  mysql-server.i386 0:5.5.8-1.el5.remi   

Complete!

アップデートが正常に完了したところで、/etc 配下にあるconfiguration file、 my.cnfをアップデート時に生成されたmy.cnf.rpmnewに置き換え、mysqldを再起動:


[root]#cd /etc
[root]#cp my.cnf.rpmnew my.cnf
[root]#service mysqld restart
mysqld を停止中:                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]

そして、更新後のMySqlのバージョンをチェック:

[root]# mysql --version
mysql  Ver 14.14 Distrib 5.5.8, for Linux (i686) using readline 5.1

次に、既存のDBテーブルが、新バージョンMySql5.5.8と整合したものであるかどうかを確認する。整合性の確認、修正は、mysql_upgradeにより行うことができる。旧バージョンのもとで作成しているDB上テーブルに不整合が見出された場合、この操作のなかで修正が施される。

[root etc]# mysql_upgrade -u username -ppassword
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Failed to ALTER DATABASE `#mysql50#DB_SAMPLE` UPGRADE DATA DIRECTORY NAME
Error: Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50136, now running 50508. Please use mysql_upgrade.
Running 'mysqlcheck with default connection arguments

DB_Name.Table                                     OK
  -----                                           OK

Running 'mysql_fix_privilege_tables'...
OK 

以上でMySqlへの更新作業が無事終了。そこで、一応、apacheを再起動させたのち、WordPressを動作させ、動作上の問題がないか確認。特に問題なく動作している。今回実施した更新作業に伴う問題は「表面上」は現れてないということで、一連の作業は終了。

とにもかくにも、PHPそしてMySQLは我がサーバにとっての基幹モジュールだ。今後、新版のリリースを注視して、遅滞無く更新作業を行わねばならない。


  1. 1 Trackback(s)

  2. Jan 11, 2011: CentOS5.5 上でPHP5.3.5にRPMアップデート | Yama's Memorandum

Post a Comment