yumでMySQL5.1をMySQL5.5にアップデートする
2014 年 12 月 14 日
まずはじめに現在のMySQLのバージョンを確認
[root@local ~]# mysql --version mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
Distrib 5.1です。
今入っているmysql関連のものを確認
[root@local ~]# rpm -qa | grep mysql mysql-5.1.73-3.el6_5.x86_64 php-mysqlnd-5.5.19-2.el6.remi.x86_64 mysql-libs-5.1.73-3.el6_5.x86_64 mysql-server-5.1.73-3.el6_5.x86_64
では、通常使っているリポジトリでは、5.1なのでremiリポジトリのMySQLから最新のバージョンを確認
[root@www16071ue ~]# yum info mysql --enablerepo=remi --disablerepo=updates,base,extras 読み込んだプラグイン:downloadonly, fastestmirror, priorities, security Loading mirror speeds from cached hostfile * remi: remi.kazukioishi.net インストール済みパッケージ 名前 : mysql アーキテクチャ : x86_64 バージョン : 5.1.73 リリース : 3.el6_5 容量 : 2.4 M リポジトリー : installed 提供元リポジトリー : updates 要約 : MySQL client programs and shared libraries URL : http://www.mysql.com ライセンス : GPLv2 with exceptions 説明 : 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. 利用可能なパッケージ 名前 : mysql アーキテクチャ : x86_64 バージョン : 5.5.41 リリース : 1.el6.remi 容量 : 5.8 M リポジトリー : remi 要約 : MySQL client programs and shared libraries URL : http://www.mysql.com ライセンス : GPLv2 with exceptions and LGPLv2 and BSD 説明 : 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.
remiリポジトリでバージョンが5.5にできそうです。
php関連をリスト表示で確認
[root@local ~]#yum list --enablerepo=remi --disablerepo=updates,base,extras | grep mysql mysql.x86_64 5.1.73-3.el6_5 @updates mysql-libs.x86_64 5.1.73-3.el6_5 @updates mysql-server.x86_64 5.1.73-3.el6_5 @updates php-mysqlnd.x86_64 5.5.19-2.el6.remi @remi-php55 compat-mysql51.x86_64 5.1.54-1.el6.remi remi compat-mysql51-devel.x86_64 5.1.54-1.el6.remi remi mysql.x86_64 5.5.41-1.el6.remi remi ~中略~ mysql-devel.x86_64 5.5.41-1.el6.remi remi mysql-embedded.x86_64 5.5.41-1.el6.remi remi mysql-embedded-devel.x86_64 5.5.41-1.el6.remi remi mysql-libs.x86_64 5.5.41-1.el6.remi remi mysql-server.x86_64 5.5.41-1.el6.remi remi mysql-test.x86_64 5.5.41-1.el6.remi remi mysql-utilities.noarch 1.3.6-1.el6.remi remi mysql-workbench.x86_64 5.2.47-1.el6.remi remi mysqlnd-qc-panel.noarch 1.2.0-4.el6.remi.5.4 remi php-mysql.x86_64 5.4.35-1.el6.remi remi ~中略~ php56-php-pecl-mysqlnd-qc.x86_64 1.2.0-6.el6.remi remi php56-php-pecl-mysqlnd-qc-devel.x86_64 1.2.0-6.el6.remi remi
mysqlの5.5のバージョンに更新できそうです。そのほかのモジュールも5.5に出来るので依存関係も大丈夫そう。
では早速アップデートします。
[root@www16071ue ~]# yum update mysql --enablerepo=remi --disablerepo=updates,base,extras 読み込んだプラグイン:downloadonly, fastestmirror, priorities, security 更新処理の設定をしています Loading mirror speeds from cached hostfile * remi: mirror.smartmedia.net.id 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package mysql.x86_64 0:5.1.73-3.el6_5 will be 更新 --> 依存性の処理をしています: mysql = 5.1.73-3.el6_5 のパッケージ: mysql-server-5.1.73-3.el6_5.x86_64 ---> Package mysql.x86_64 0:5.5.41-1.el6.remi will be an update --> 依存性の処理をしています: real-mysql-libs(x86-64) = 5.5.41-1.el6.remi のパッケージ: mysql-5.5.41-1.el6.remi.x86_64 --> トランザクションの確認を実行しています。 ---> Package mysql-libs.x86_64 0:5.1.73-3.el6_5 will be 更新 --> 依存性の処理をしています: libmysqlclient.so.16()(64bit) のパッケージ: 2:postfix-2.6.6-6.el6_5.x86_64 --> 依存性の処理をしています: libmysqlclient.so.16()(64bit) のパッケージ: perl-DBD-MySQL-4.013-3.el6.x86_64 --> 依存性の処理をしています: libmysqlclient.so.16(libmysqlclient_16)(64bit) のパッケージ: 2:postfix-2.6.6-6.el6_5.x86_64 --> 依存性の処理をしています: libmysqlclient.so.16(libmysqlclient_16)(64bit) のパッケージ: perl-DBD-MySQL-4.013-3.el6.x86_64 ---> Package mysql-libs.x86_64 0:5.5.41-1.el6.remi will be an update ---> Package mysql-server.x86_64 0:5.1.73-3.el6_5 will be 更新 ---> Package mysql-server.x86_64 0:5.5.41-1.el6.remi will be an update --> トランザクションの確認を実行しています。 ---> Package compat-mysql51.x86_64 0:5.1.54-1.el6.remi will be インストール --> 依存性解決を終了しました。 依存性を解決しました ========================================================================================パッケージ アーキテクチャ バージョン リポジトリー 容量 ========================================================================================更新: mysql x86_64 5.5.41-1.el6.remi remi 5.8 M 依存性関連でのインストールをします。: compat-mysql51 x86_64 5.1.54-1.el6.remi remi 1.4 M 依存性関連での更新をします。: mysql-libs x86_64 5.5.41-1.el6.remi remi 777 k mysql-server x86_64 5.5.41-1.el6.remi remi 10 M トランザクションの要約 ========================================================================================インストール 1 パッケージ アップグレード 3 パッケージ 総ダウンロード容量: 18 M これでいいですか? [y/N]y パッケージをダウンロードしています: (1/4): compat-mysql51-5.1.54-1.el6.remi.x86_64.rpm | 1.4 MB 01:25 (2/4): mysql-5.5.41-1.el6.remi.x86_64.rpm | 5.8 MB 04:04 (3/4): mysql-libs-5.5.41-1.el6.remi.x86_64.rpm | 777 kB 00:04 (4/4): mysql-server-5.5.41-1.el6.remi.x86_64.rpm | 10 MB 01:06 ----------------------------------------------------------------------------------------合計 46 kB/s | 18 MB 06:41 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています 更新 : mysql-libs-5.5.41-1.el6.remi.x86_64 1/7 WARNING : This MySQL RPM is not an official Fedora / Red Hat build and it overrides the official one. Don't file bugs on Fedora Project nor Red Hat. Use dedicated forums http://forums.famillecollet.com/ warning: /etc/my.cnf created as /etc/my.cnf.rpmnew 更新 : mysql-5.5.41-1.el6.remi.x86_64 2/7 更新 : mysql-server-5.5.41-1.el6.remi.x86_64 3/7 インストールしています : compat-mysql51-5.1.54-1.el6.remi.x86_64 4/7 整理中 : mysql-server-5.1.73-3.el6_5.x86_64 5/7 整理中 : mysql-5.1.73-3.el6_5.x86_64 6/7 整理中 : mysql-libs-5.1.73-3.el6_5.x86_64 7/7 Verifying : mysql-5.5.41-1.el6.remi.x86_64 1/7 Verifying : compat-mysql51-5.1.54-1.el6.remi.x86_64 2/7 Verifying : mysql-libs-5.5.41-1.el6.remi.x86_64 3/7 Verifying : mysql-server-5.5.41-1.el6.remi.x86_64 4/7 Verifying : mysql-libs-5.1.73-3.el6_5.x86_64 5/7 Verifying : mysql-server-5.1.73-3.el6_5.x86_64 6/7 Verifying : mysql-5.1.73-3.el6_5.x86_64 7/7 依存性関連をインストールしました: compat-mysql51.x86_64 0:5.1.54-1.el6.remi 更新: mysql.x86_64 0:5.5.41-1.el6.remi 依存性を更新しました: mysql-libs.x86_64 0:5.5.41-1.el6.remi mysql-server.x86_64 0:5.5.41-1.el6.remi 完了しました!
warningがでましたがとりあえず完了
インストールされたバージョンを確認
[root@local ~]# rpm -qa | grep mysql mysql-5.5.41-1.el6.remi.x86_64 php-mysqlnd-5.5.19-2.el6.remi.x86_64 mysql-libs-5.5.41-1.el6.remi.x86_64 mysql-server-5.5.41-1.el6.remi.x86_64 compat-mysql51-5.1.54-1.el6.remi.x86_64
依存関係も問題なく無事5.5にバージョンアップ確認
最後にmysqldの再起動
[root@local ~]# /etc/init.d/mysqld restart mysqld を停止中: [ OK ] mysqld を起動中: [ OK ]
もし起動しない場合は、/etc/my.cnfのdefault-character-set=utf8とあればそれをコメントアウトしてcharacter-set-server = utf8を追記すればOK
以下のデータベースをupgradeコマンド行うブログが多いが今のところmysqld.logなどにエラーもないのでこのまま様子を見ます。
と思ったら数時間後ログを確認したらやはり出てました。
vi /etc/mysqld.log 141212 14:36:50 [ERROR] Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type text, found type char(64). 141212 15:03:32 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
ということで早速mysql_upgradeしてみます。
[root@local~]# mysql_upgrade -u root -p Enter password: Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck with default connection arguments Running 'mysqlcheck with default connection arguments mysql.columns_priv OK mysql.db OK mysql.event OK mysql.func OK mysql.general_log OK mysql.help_category OK mysql.help_keyword OK mysql.help_relation OK mysql.help_topic OK mysql.host OK mysql.ndb_binlog_index OK mysql.plugin OK mysql.proc OK mysql.procs_priv OK mysql.servers OK mysql.slow_log OK mysql.tables_priv OK mysql.time_zone OK mysql.time_zone_leap_second OK mysql.time_zone_name OK mysql.time_zone_transition OK mysql.time_zone_transition_type OK mysql.user OK wordpress.wp_blc_filters OK wordpress.wp_blc_instances OK wordpress.wp_blc_links OK wordpress.wp_blc_synch OK wordpress.wp_commentmeta OK wordpress.wp_comments OK wordpress.wp_ewwwio_images OK wordpress.wp_links OK wordpress.wp_options OK wordpress.wp_pmxi_files OK wordpress.wp_pmxi_imports OK wordpress.wp_pmxi_posts OK wordpress.wp_pmxi_templates OK wordpress.wp_postmeta OK wordpress.wp_posts OK wordpress.wp_term_relationships OK wordpress.wp_term_taxonomy OK wordpress.wp_terms OK wordpress.wp_usermeta OK wordpress.wp_users OK wordpress.wp_wp_rp_tags OK wordpress.wp_wpb2d_excluded_files OK wordpress.wp_wpb2d_options OK wordpress.wp_wpb2d_processed_dbtables OK wordpress.wp_wpb2d_processed_files OK wordpress.wp_yarpp_related_cache OK Running 'mysql_fix_privilege_tables'... OK
早速phpmyadminへログイン!!
画面の下部に注意メッセージがあるのが気になりますが、とりあえず最新版のphpmyadminでログインできました。
次は、PHP-GDモジュールですが、少し時間をかけて解決したいと思います。
あとこのphpmyadminのメッセージのほうの解決もしたいと思います。
※20141214追記 数日前の記事でさきほどログを確認しましたがmysql_upgrade後は、何もエラーはでてません。