アーカイブ

‘mysql’ カテゴリーのアーカイブ

yumでMySQL5.1をMySQL5.5にアップデートする

2014 年 12 月 14 日 Comments off

まずはじめに現在の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へログイン!!

phpmyadmin5

画面の下部に注意メッセージがあるのが気になりますが、とりあえず最新版のphpmyadminでログインできました。

次は、PHP-GDモジュールですが、少し時間をかけて解決したいと思います。
あとこのphpmyadminのメッセージのほうの解決もしたいと思います。

※20141214追記 数日前の記事でさきほどログを確認しましたがmysql_upgrade後は、何もエラーはでてません。

 

カテゴリー: Linux, mysql タグ: , , ,