CentOSサーバーにMoodleを入れようとしたのだが、OSがCentOS 5.11、PHP 5.3.3とMySQL 5.0.95と環境が古くてすんなりとインストールできない。CentOS 5.11は最新版だし、2017年まではサポートされる。問題だったのはMoodleではPHP 5.4.4以降、MySQL 5.5.31以降が必要というところ。PHPは割合簡単に5.6.7へアップグレードできた。MySQLのアップグレードでつまずいたのでメモを残しておく。
まず、古いMySQLと設定ファイルのバックアップを取る。
cd /var/lib sudo cp -arp mysql mysql.backup cd /etc sudo cp my.cnf my.cnf.backup
古いMySQLを削除する。
rpm -qa | grep -i ^mysql mysql-5.0.95-5.el5_9 mysql-server-5.0.95-5.el5_9 mysql-5.0.95-5.el5_9
sudo yum erase mysql-5.0.95-5.el5_9 Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package mysql.i386 0:5.0.95-5.el5_9 set to be erased --> Processing Dependency: mysql = 5.0.95-5.el5_9 for package: mysql-server ---> Package mysql.x86_64 0:5.0.95-5.el5_9 set to be erased --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: perl-DBD-MySQL --> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: perl-DBD-MySQL --> Running transaction check ---> Package mysql-server.x86_64 0:5.0.95-5.el5_9 set to be erased ---> Package perl-DBD-MySQL.x86_64 0:3.0007-2.el5 set to be erased --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Removing: mysql i386 5.0.95-5.el5_9 installed 8.0 M mysql x86_64 5.0.95-5.el5_9 installed 8.2 M Removing for dependencies: mysql-server x86_64 5.0.95-5.el5_9 installed 22 M perl-DBD-MySQL x86_64 3.0007-2.el5 installed 328 k Transaction Summary ========================================================================================== Remove 4 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : mysql-server 1/4 Erasing : mysql 2/4 Erasing : perl-DBD-MySQL 3/4 Erasing : mysql 4/4 Removed: mysql.i386 0:5.0.95-5.el5_9 mysql.x86_64 0:5.0.95-5.el5_9 Dependency Removed: mysql-server.x86_64 0:5.0.95-5.el5_9 perl-DBD-MySQL.x86_64 0:3.0007-2.el5 Complete!
アンインストールはこれで完了。
yumでMySQLをインストールしようとしたのだけど、
yum list updates --enablerepo=remi,epel,ius | grep mysql
とやっても何も表示されない。grepを付けずに確認したら
yum list updates --enablerepo=remi,epel,ius Updated Packages crash.x86_64 5.1.8-3.el5.centos updates curl.x86_64 7.29.0-19.el5.remi remi fail2ban.noarch 0.8.14-1.el5 epel firefox.i386 31.5.3-1.el5.centos updates firefox.x86_64 31.5.3-1.el5.centos updates kernel.x86_64 2.6.18-402.el5 updates kernel-devel.x86_64 2.6.18-402.el5 updates kernel-headers.x86_64 2.6.18-402.el5 updates ksh.x86_64 20100621-24.el5_11 updates lua.x86_64 5.1.4-4.el5 epel lzop.x86_64 1.03-2.el5 epel openvpn.x86_64 2.3.6-1.el5 epel perl-Crypt-OpenSSL-Random.x86_64 0.04-7.el5 epel perl-Crypt-PasswdMD5.noarch 1.3-2.el5 epel perl-Email-Date-Format.noarch 1.002-4.el5 epel perl-Error.noarch 1:0.17010-1.el5 epel perl-Mail-SPF.noarch 2.007-1.el5 epel perl-Pod-Escapes.noarch 1.04-5.el5 epel perl-Razor-Agent.x86_64 2.85-1.el5 epel perl-version.x86_64 1:0.7203-1.el5 epel pkcs11-helper.x86_64 1.11-3.el5 epel sendmail.x86_64 8.13.8-10.el5_11 updates sendmail-cf.x86_64 8.13.8-10.el5_11 updates tzdata.x86_64 2015b-1.el5 updates
ということで、リポジトリにMySQLが入ってない。
しょうがないのでJAISTのミラーサイトからMySQL関連のファイルを手動ダウンロードする。
MySQL-shared-compat-5.6.23-1.rhel5.x86_64.rpm
MySQL-client-5.6.23-1.rhel5.x86_64.rpm
MySQL-devel-5.6.23-1.rhel5.x86_64.rpm
MySQL-server-5.6.23-1.rhel5.x86_64.rpm
wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.23-1.rhel5.x86_64.rpm --2015-03-30 17:49:13-- http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.23-1.rhel5.x86_64.rpm ftp.jaist.ac.jp をDNSに問いあわせています... 150.65.7.130, 2001:df0:2ed:feed::feed ftp.jaist.ac.jp|150.65.7.130|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 5199239 (5.0M) [application/octet-stream] `MySQL-shared-compat-5.6.23-1.rhel5.x86_64.rpm' に保存中 100%[================================================>] 5,199,239 3.15M/s 時間 1.6s 2015-03-30 17:49:15 (3.15 MB/s) - `MySQL-shared-compat-5.6.23-1.rhel5.x86_64.rpm' へ保存完了 [5199239/5199239] [masaru@ns ~]$ wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.23-1.rhel5.x86_64.rpm --2015-03-30 17:50:02-- http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.23-1.rhel5.x86_64.rpm ftp.jaist.ac.jp をDNSに問いあわせています... 150.65.7.130, 2001:df0:2ed:feed::feed ftp.jaist.ac.jp|150.65.7.130|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 23191064 (22M) [application/octet-stream] `MySQL-client-5.6.23-1.rhel5.x86_64.rpm' に保存中 100%[================================================>] 23,191,064 2.77M/s 時間 7.4s 2015-03-30 17:50:10 (3.00 MB/s) - `MySQL-client-5.6.23-1.rhel5.x86_64.rpm' へ保存完了 [23191064/23191064] [masaru@ns ~]$ wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.23-1.rhel5.x86_64.rpm --2015-03-30 17:50:40-- http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.23-1.rhel5.x86_64.rpm ftp.jaist.ac.jp をDNSに問いあわせています... 150.65.7.130, 2001:df0:2ed:feed::feed ftp.jaist.ac.jp|150.65.7.130|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 4589592 (4.4M) [application/octet-stream] `MySQL-devel-5.6.23-1.rhel5.x86_64.rpm' に保存中 100%[================================================>] 4,589,592 2.71M/s 時間 1.6s 2015-03-30 17:50:42 (2.71 MB/s) - `MySQL-devel-5.6.23-1.rhel5.x86_64.rpm' へ保存完了 [4589592/4589592] [masaru@ns ~]$ wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.23-1.rhel5.x86_64.rpm --2015-03-30 17:51:08-- http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.23-1.rhel5.x86_64.rpm ftp.jaist.ac.jp をDNSに問いあわせています... 150.65.7.130, 2001:df0:2ed:feed::feed ftp.jaist.ac.jp|150.65.7.130|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 88596822 (84M) [application/octet-stream] `MySQL-server-5.6.23-1.rhel5.x86_64.rpm' に保存中 100%[================================================>] 88,596,822 3.35M/s 時間 28s 2015-03-30 17:51:36 (3.03 MB/s) - `MySQL-server-5.6.23-1.rhel5.x86_64.rpm' へ保存完了 [88596822/88596822]
ダウンロードしたMySQL5.6.23をインストールする。順番を違えると依存性云々と言われる可能性があるので、この通りにするのが良いらしい。
sudo rpm -ivh MySQL-shared-compat-5.6.23-1.rhel5.x86_64.rpm [sudo] password for masaru: 準備中... ########################################### [100%] 1:MySQL-shared-compat ########################################### [100%] [masaru@ns ~]$ sudo rpm -ivh MySQL-client-5.6.23-1.rhel5.x86_64.rpm 準備中... ########################################### [100%] 1:MySQL-client ########################################### [100%] [masaru@ns ~]$ sudo rpm -ivh MySQL-devel-5.6.23-1.rhel5.x86_64.rpm 準備中... ########################################### [100%] 1:MySQL-devel ########################################### [100%] [masaru@ns ~]$ sudo rpm -ivh MySQL-server-5.6.23-1.rhel5.x86_64.rpm 準備中... ########################################### [100%] 1:MySQL-server ########################################### [100%]
MySQLのバージョンを確認する。
mysql --version mysql Ver 14.14 Distrib 5.6.23, for Linux (x86_64) using EditLine wrapper
これでMySQL 5.6.23にアップグレードできた。
と思ったが、
mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)
と、socketに関する通信エラーが出てしまう。
さて、どうしたもの。