今回は、上手く行かなかった、失敗した、記録でございます><。今後の何かのヒントになるかしら?と思い、投稿いたします。
なお、目的は MySQL の公式リポジトリを導入し、PHP は Remi リポジトリで、MySQL は MySQL リポジトリで簡単に管理したい!というものでした。
簡単には管理できなさそうで、断念いたしました><。
MySQL リポジトリのポイント
- OS が CentOS5 の場合、リポジトリは Red Hat Enterprise Linux 5 (mysql-community-release-el5-5.noarch.rpm) をインストールする
- yum コマンド時のリポジトリの指定は mysql56-community
- mysql56-community リポジトリだと Remi からパッケージ名が変わった。mysql-server は mysql-community-server に、mysql-libs は mysql-community-libs に名前が変わった
- PHP は Remi、MySQL は mysql56-community リポジトリを使用したいと思ったが、Remi リポジトリの MySQL が依存関係で競合を起こし、できない。
→ お手軽ではなさそう、あきらめた。
MySQL リポジトリをインストールしました記録♪
以前の次の投稿を見直しつつ、また、公式のインストール方法も参考にしつつ進めました。
- yum に RPMforge、Remi、EPEL リポジトリを導入してあえて無効にする手順!・・・リポジトリ再び♪ | oki2a24
- MySQL :: Using the MySQL Yum Repository :: 1 Installing MySQL on Linux Using the MySQL Yum Repository
まずはリポジトリのファイルをダウンロードです♪
[root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el5-5.noarch.rpm --2014-05-09 22:54:46-- http://dev.mysql.com/get/mysql-community-release-el5-5.noarch.rpm dev.mysql.com をDNSに問いあわせています... 137.254.60.11 dev.mysql.com|137.254.60.11|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: http://repo.mysql.com/mysql-community-release-el5-5.noarch.rpm [続く] --2014-05-09 22:54:47-- http://repo.mysql.com/mysql-community-release-el5-5.noarch.rpm repo.mysql.com をDNSに問いあわせています... 23.67.184.96 repo.mysql.com|23.67.184.96|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 5545 (5.4K) [application/x-redhat-package-manager] `mysql-community-release-el5-5.noarch.rpm' に保存中 100%[=====================================================>] 5,545 --.-K/s 時間 0s 2014-05-09 22:54:48 (18.6 MB/s) - `mysql-community-release-el5-5.noarch.rpm' へ保存完了 [5545/5545] [root@localhost ~]#
次にインストールです。普段は「rpm -Uvh」を使用しておりますが、依存関係で足りないものがあるとエラーが出ましたので、「yum localinstall」コマンドを使いました。
- 「yum localinstall」 = 「rpm -Uvh」 + 依存関係解決 – 公開鍵解決
というように理解いたしました。こちらのページが参考になりました。
- 誰得UNIX: これだけは押さえておきたいyumの使い方
6. ローカルに存在するRPMファイルをyumでインストールする
実際のインストールの様子がこちらですの♪
[root@localhost ~]# yum --nogpgcheck localinstall mysql-community-release-el5-5.noarch.rpm Loaded plugins: fastestmirror Setting up Local Package Process Examining mysql-community-release-el5-5.noarch.rpm: mysql-community-release-el5-5.noarch Marking mysql-community-release-el5-5.noarch.rpm to be installed Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp Resolving Dependencies --> Running transaction check ---> Package mysql-community-release.noarch 0:el5-5 set to be updated --> Finished Dependency Resolution Dependencies Resolved =============================================================================================== Package Arch Version Repository Size =============================================================================================== Installing: mysql-community-release noarch el5-5 /mysql-community-release-el5-5.noarch 3.5 k Transaction Summary =============================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total size: 3.5 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : mysql-community-release 1/1 Installed: mysql-community-release.noarch 0:el5-5 Complete! [root@localhost ~]#
「ll /etc/yum.repos.d/」で確認したところ、次の2つのファイルが生成されておりました。
- mysql-community-source.repo
- mysql-community.repo
生成されました2つのファイルの中身を確認いたしまして、mysql-community.repo で指定されているものがインストール時のリポジトリ指定に使われており、もう一方は使用されていないと判断いたしました。
具体的には、mysql56-community でございます。インストール時などに指定するときに使用いたしますわ。逆に、mysql57-community-dmr は避けます。
と言いますのも、次にあるように、開発版で不安定なリポジトリであるからですの。
# Note: MySQL 5.7 is currently in development. For use at your own risk.
# Please read with sub pages: https://dev.mysql.com/doc/relnotes/mysql/5.7/en/
さて、確認をいたしました♪
これで使用可能状態になりましたけれども、yum 使用時は常に MySQL リポジトリを使う設定ですの。
使いたいタイミングでのみオンにしたいですので、設定を変更いたします。
- /etc/yum.repos.d/mysql-community.repo の enabled の値を「0」に変更
これでオプションで指定した時のみ、リポジトリが有効になるようになりましたわ♪
mysql56-community リポジトリを使用してみまして、諦めました記録ですの><
MySQL をアップデートしてみます。。。
Remi リポジトリ版がインストール済みのため、依存関係でエラーとなりました><。入れ替えたい場合は、一旦削除してからインストールすればできるかしら?
[root@localhost ~]# yum --enablerepo=mysql56-community update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp mysql-connectors-community | 2.5 kB 00:00 mysql-connectors-community/primary_db | 4.6 kB 00:00 mysql56-community | 2.5 kB 00:00 mysql56-community/primary_db | 24 kB 00:00 Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package mysql.i386 0:5.6.17-4.el5 set to be updated --> Processing Dependency: mysql-community-libs-compat = 5.6.17-4.el5 for package: mysql --> Processing Dependency: mysql-community-client = 5.6.17-4.el5 for package: mysql ---> Package mysql-community-libs.i386 0:5.6.17-4.el5 set to be updated --> Processing Dependency: mysql-community-common = 5.6.17-4.el5 for package: mysql-community-libs ---> Package mysql-community-server.i386 0:5.6.17-4.el5 set to be updated --> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16) for package: php-mysql --> Running transaction check ---> Package mysql-community-client.i386 0:5.6.17-4.el5 set to be updated ---> Package mysql-community-common.i386 0:5.6.17-4.el5 set to be updated ---> Package mysql-community-libs-compat.i386 0:5.6.17-4.el5 set to be updated --> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16) for package: php-mysql --> Finished Dependency Resolution php-mysql-5.4.28-1.el5.remi.i386 from installed has depsolving problems --> Missing Dependency: libmysqlclient.so.18(libmysqlclient_16) is needed by package php-mysql-5.4.28-1.el5.remi.i386 (installed) Error: Missing Dependency: libmysqlclient.so.18(libmysqlclient_16) is needed by package php-mysql-5.4.28-1.el5.remi.i386 (installed) You could try using --skip-broken to work around the problem You could try running: package-cleanup --problems package-cleanup --dupes rpm -Va --nofiles --nodigest The program package-cleanup is found in the yum-utils package. [root@localhost ~]#
アンインストール後、インストールしてみましたけれども><。戻します。。。
まずは Remi リポジトリの MySQL をアンインストールですの。設定ファイルや、依存関係でいろいろ削除やリネームされました。元に戻す場合は、次の内容を参考にいたします。
Running Transaction Erasing : mysqlclient15 1/12 Erasing : mysql-libs 2/12 警告: /etc/my.cnf は /etc/my.cnf.rpmsave として保存されました。 Erasing : mysql-server 3/12 警告: /var/log/mysqld.log は /var/log/mysqld.log.rpmsave として保存されました。 Erasing : mysql 4/12 Erasing : php-mysql 5/12 Erasing : zabbix-web-japanese 6/12 Erasing : zabbix-server 7/12 警告: /etc/zabbix/zabbix_server.conf は /etc/zabbix/zabbix_server.conf.rpmsave として保存されました。 Erasing : zabbix-web-mysql 8/12 Erasing : phpMyAdmin 9/12 警告: /etc/httpd/conf.d/phpMyAdmin.conf は /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave として保存されました。 Erasing : perl-DBD-MySQL 10/12 Erasing : zabbix-web 11/12 警告: /etc/httpd/conf.d/zabbix.conf は /etc/httpd/conf.d/zabbix.conf.rpmsave として保存されました。 Erasing : zabbix-server-mysql 12/12
続いてインストールですけれども、、、php-common のバージョンが合わないため、インストールできません><。
しかも、php-common のバージョンは Remi リポジトリよりも低く、使うのは難しいかしら。
おそらく、他の PHP 関連も、バージョンを下げる必要がありそうですわね。PHP も MySQL もひとつのサーバに同居させている状態では、PHP は Remi、MySQL は MySQL リポジトリでインストールし、両方共最新版を使うのは難しそうですわね><。。。
[root@localhost ~]# yum --enablerepo=mysql56-community install mysql mysqlclient15 mysql-community-libs mysql-community-server php-mysql Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp Setting up Install Process No package mysqlclient15 available. Resolving Dependencies --> Running transaction check ---> Package mysql.i386 0:5.6.17-4.el5 set to be updated --> Processing Dependency: mysql-community-libs-compat = 5.6.17-4.el5 for package: mysql --> Processing Dependency: mysql-community-client = 5.6.17-4.el5 for package: mysql ---> Package mysql-community-libs.i386 0:5.6.17-4.el5 set to be updated --> Processing Dependency: mysql-community-common = 5.6.17-4.el5 for package: mysql-community-libs ---> Package mysql-community-server.i386 0:5.6.17-4.el5 set to be updated ---> Package php-mysql.i386 0:5.1.6-44.el5_10 set to be updated --> Processing Dependency: php-common = 5.1.6-44.el5_10 for package: php-mysql --> Running transaction check ---> Package mysql-community-client.i386 0:5.6.17-4.el5 set to be updated ---> Package mysql-community-common.i386 0:5.6.17-4.el5 set to be updated ---> Package mysql-community-libs-compat.i386 0:5.6.17-4.el5 set to be updated ---> Package php-mysql.i386 0:5.1.6-44.el5_10 set to be updated --> Processing Dependency: php-common = 5.1.6-44.el5_10 for package: php-mysql --> Finished Dependency Resolution php-mysql-5.1.6-44.el5_10.i386 from updates has depsolving problems --> Missing Dependency: php-common = 5.1.6-44.el5_10 is needed by package php-mysql-5.1.6-44.el5_10.i386 (updates) Error: Missing Dependency: php-common = 5.1.6-44.el5_10 is needed by package php-mysql-5.1.6-44.el5_10.i386 (updates) You could try using --skip-broken to work around the problem You could try running: package-cleanup --problems package-cleanup --dupes rpm -Va --nofiles --nodigest [root@localhost ~]#
Remi リポジトリに合わせておきますの。ですので以前の状態に戻しますわ。
削除したときのログを参考にインストールいたしました。2階に分けましたけれども、もちろん1回で済ませられますわ。
- yum –enablerepo=epel,remi,rpmforge install mysql mysql-libs mysql-server mysqlclient15 mysql-community-libs php-mysql
- yum –enablerepo=epel,remi,rpmforge,zabbix,zabbix-non-supported install zabbix-web-japanese zabbix-server zabbix-web-mysql phpMyAdmin zabbix-web zabbix-server-mysql
diff コマンドで差分を確認してから、設定ファイルも以前の状態に戻しました。
- cp -a /etc/my.cnf.rpmsave /etc/my.cnf
- cp -a /etc/zabbix/zabbix_server.conf.rpmsave /etc/zabbix/zabbix_server.conf
- cp -a /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave /etc/httpd/conf.d/phpMyAdmin.conf
- cp -a /etc/httpd/conf.d/zabbix.conf.rpmsave /etc/httpd/conf.d/zabbix.conf
他にも失敗したことあれこれ記録><!
ダウンロード時の URL を https にいたしますとダウンロード出来ませんでした。。。
[root@localhost ~]# wget https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm --2014-05-09 21:30:57-- https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm dev.mysql.com をDNSに問いあわせています... 137.254.60.11 dev.mysql.com|137.254.60.11|:443 に接続しています... 接続しました。 エラー: 証明書に記載されている名前 `www.mysql.com' とホスト名 `dev.mysql.com' が一致しません dev.mysql.com に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。 SSL による接続が確立できません。 [root@localhost ~]#
http でも yum localinstall コマンドで直接 URL を指定すると進みませんでしたの。。。
[root@localhost ~]# yum localinstall http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm Loaded plugins: fastestmirror Setting up Local Package Process Cannot open file: http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm. Skipping. Nothing to do [root@localhost ~]#
依存関係で rpm でインストールできませんの。このため、「yum localinstall」を使用いたしました。
[root@localhost ~]# rpm -Uvh mysql-community-release-el6-5.noarch.rpm エラー: 依存性の欠如: rpmlib(FileDigests) <= 4.6.0-1 は mysql-community-release-el6-5.noarch に必要とされています rpmlib(PayloadIsXz) <= 5.2-1 は mysql-community-release-el6-5.noarch に必要とされています [root@localhost ~]#
公開鍵が導入されていないためにインストールできませんでしたの。–nogpgcheck オプションが必要ですの。
[root@localhost ~]# yum localinstall mysql-community-release-el6-5.noarch.rpm Loaded plugins: fastestmirror Setting up Local Package Process Examining mysql-community-release-el6-5.noarch.rpm: mysql-community-release-el6-5.noarch Marking mysql-community-release-el6-5.noarch.rpm to be installed Loading mirror speeds from cached hostfile * base: mirror.nus.edu.sg * epel: mirror.nus.edu.sg * extras: mirror.nus.edu.sg * remi: mirror.awanti.com * rpmforge: ftp.riken.jp * updates: mirror.nus.edu.sg Resolving Dependencies --> Running transaction check ---> Package mysql-community-release.noarch 0:el6-5 set to be updated --> Finished Dependency Resolution Dependencies Resolved =============================================================================================== Package Arch Version Repository Size =============================================================================================== Installing: mysql-community-release noarch el6-5 /mysql-community-release-el6-5.noarch 4.3 k Transaction Summary =============================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total size: 4.3 k Is this ok [y/N]: y Downloading Packages: 警告: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 5072e1f5 Public key for mysql-community-release-el6-5.noarch.rpm is not installed [root@localhost ~]#
正しくないバージョンのため、インストールに失敗しました。
CentOS5 でしたけれども最初、Red Hat Enterprise Linux 6 (mysql-community-release-el6-5.noarch.rpm) で試しましたの。
そうしましたら、ダメでした。エラーとなってインストールできませんでした。
Red Hat Enterprise Linux 5 (mysql-community-release-el5-5.noarch.rpm) だとインストールできましたわ。
[root@localhost ~]# yum --nogpgcheck localinstall mysql-community-release-el6-5.noarch.rpm Loaded plugins: fastestmirror Setting up Local Package Process Examining mysql-community-release-el6-5.noarch.rpm: mysql-community-release-el6-5.noarch Marking mysql-community-release-el6-5.noarch.rpm to be installed Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp Resolving Dependencies --> Running transaction check ---> Package mysql-community-release.noarch 0:el6-5 set to be updated --> Finished Dependency Resolution Dependencies Resolved =============================================================================================== Package Arch Version Repository Size =============================================================================================== Installing: mysql-community-release noarch el6-5 /mysql-community-release-el6-5.noarch 4.3 k Transaction Summary =============================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total size: 4.3 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug ERROR with rpm_check_debug vs depsolve: Traceback (most recent call last): File "/usr/bin/yum", line 29, in ? yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 309, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 261, in main return_code = base.doTransaction() File "/usr/share/yum-cli/cli.py", line 421, in doTransaction print to_utf8(msg) File "/usr/lib/python2.4/codecs.py", line 178, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 20: ordinal not in range(128) [root@localhost ~]#
おわりに
なかなか難しいですの。。。おそらく、Remi で PHP、MySQL を管理しないようにするとやりやすそうに感じますけれども、どうなのかしら。。。
以上です。