2013年2月7日木曜日

mysql5.6の幕開け


mysql5.6の幕開け

** もくてき
mysql5.6が正式リリースされたので、mysql5.5からのアップデートをしてみようというお話

** 環境
いつものさくらVPS1480円プラン
mysql5.5(remiのやつ)インストール済み

** ぱっけーじの取得
http://dev.mysql.com/
ここからパッケージを持ってくる
ダウンロードにはアカウント登録が必要です。
せっかくなので登録しておきませう。

CentOS6でインストールするので、RHEL6用のRPMをもってくる
# ls -1
MySQL-client-5.6.10-1.el6.x86_64.rpm
MySQL-devel-5.6.10-1.el6.x86_64.rpm
MySQL-embedded-5.6.10-1.el6.x86_64.rpm
MySQL-server-5.6.10-1.el6.x86_64.rpm
MySQL-shared-5.6.10-1.el6.x86_64.rpm
MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm
MySQL-test-5.6.10-1.el6.x86_64.rpm

** なにも考えずにインストール
# rpm -ivh MySQL-devel-5.6.10-1.el6.x86_64.rpm \
MySQL-server-5.6.10-1.el6.x86_64.rpm \
MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm \
MySQL-shared-5.6.10-1.el6.x86_64.rpm \
MySQL-client-5.6.10-1.el6.x86_64.rpm
--------------------------------------------------------------------------------
error: Failed dependencies:
        mysql-devel conflicts with MySQL-devel-5.6.10-1.el6.x86_64
        MySQL-devel conflicts with mysql-devel-5.5.29-1.el6.remi.x86_64
        mysql conflicts with MySQL-server-5.6.10-1.el6.x86_64
        mysql-server conflicts with MySQL-server-5.6.10-1.el6.x86_64
        MySQL conflicts with mysql-5.5.29-1.el6.remi.x86_64
        MySQL-server conflicts with mysql-server-5.5.29-1.el6.remi.x86_64
        mysql conflicts with MySQL-client-5.6.10-1.el6.x86_64
--------------------------------------------------------------------------------
ですよね。

** 既存のぱっけーじ確認
# yum list installed | grep mysql
--------------------------------------------------------------------------------
compat-mysql51.x86_64 5.1.54-1.el6.remi @remi
mysql.x86_64          5.5.29-1.el6.remi @remi
mysql-bench.x86_64    5.5.29-1.el6.remi @remi
mysql-devel.x86_64    5.5.29-1.el6.remi @remi
mysql-libs.x86_64     5.5.29-1.el6.remi @remi
mysql-server.x86_64   5.5.29-1.el6.remi @remi
--------------------------------------------------------------------------------
# rpm -qa | grep -i mysql
--------------------------------------------------------------------------------
mysql-libs-5.5.29-1.el6.remi.x86_64
mysql-devel-5.5.29-1.el6.remi.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
mysql-5.5.29-1.el6.remi.x86_64
mysql-bench-5.5.29-1.el6.remi.x86_64
compat-mysql51-5.1.54-1.el6.remi.x86_64
mysql-server-5.5.29-1.el6.remi.x86_64
--------------------------------------------------------------------------------

** 既存パッケージ削除
# yum remove mysql-libs-5.5.29-1.el6.remi.x86_64 \
mysql-devel-5.5.29-1.el6.remi.x86_64 \
mysql-5.5.29-1.el6.remi.x86_64 \
mysql-server-5.5.29-1.el6.remi.x86_64
===========================================================================================================================================================
 Package                        Arch                   Version                              Repository                                                Size
===========================================================================================================================================================
Removing:
 mysql                          x86_64                 5.5.29-1.el6.remi                    @remi                                                     29 M
 mysql-devel                    x86_64                 5.5.29-1.el6.remi                    @remi                                                    598 k
 mysql-libs                     x86_64                 5.5.29-1.el6.remi                    @remi                                                    4.1 M
 mysql-server                   x86_64                 5.5.29-1.el6.remi                    @remi                                                     45 M
Removing for dependencies:
 cronie                         x86_64                 1.4.4-7.el6                          @anaconda-CentOS-201112091719.x86_64/6.2                 166 k
 cronie-anacron                 x86_64                 1.4.4-7.el6                          @anaconda-CentOS-201112091719.x86_64/6.2                  43 k
 crontabs                       noarch                 1.10-33.el6                          @anaconda-CentOS-201112091719.x86_64/6.2                 2.4 k
 mysql-bench                    x86_64                 5.5.29-1.el6.remi                    @remi                                                    2.6 M
 postfix                        x86_64                 2:2.6.6-2.2.el6_1                    @anaconda-CentOS-201112091719.x86_64/6.2                 9.7 M
 sysstat                        x86_64                 9.0.4-20.el6                         @base                                                    807 k
Transaction Summary
===========================================================================================================================================================
Remove       10 Package(s)
Installed size: 91 M
Is this ok [y/N]:N

** あらためて…。
mysqllibにみっしり依存関係ついてるのは、触った人には有名なお話。
さて、この対応ですが、方法はふたつ。
 1,依存のあるぱっけーじごと消して、後ほど消えた中で必要なものもインストールしなおす
 2,依存をぶったぎって、mysql関連のパッケージのみ削除する
両方メリットデメリットあるけれど、できるのであれば1がお勧めかなーって。
cronの内容とかpostfixのデータとかも、特に吹っ飛ばないし設定に関してもrpmsaveが残るので、
最悪初期設定に戻ったとしても、conf入れ替えてリスタートすればOKだし。
今後依存関係に禍根を残さないという意味で、きれいにしておいて損はないかなーって。

** ということで
# yum remove mysql-libs-5.5.29-1.el6.remi.x86_64 \
mysql-devel-5.5.29-1.el6.remi.x86_64 \
mysql-5.5.29-1.el6.remi.x86_64 \
mysql-server-5.5.29-1.el6.remi.x86_64
再度実行してばっさり。

** インストールりべんじ
# rpm -ivh MySQL-devel-5.6.10-1.el6.x86_64.rpm \
MySQL-server-5.6.10-1.el6.x86_64.rpm \
MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm \
MySQL-shared-5.6.10-1.el6.x86_64.rpm \
MySQL-client-5.6.10-1.el6.x86_64.rpm
--------------------------------------------------------------------------------
Preparing...                ########################################### [100%]
   1:MySQL-client           ########################################### [ 20%]
   2:MySQL-shared           ########################################### [ 40%]
   3:MySQL-shared-compat    ########################################### [ 60%]
   4:MySQL-server           ########################################### [ 80%]
   5:MySQL-devel            ########################################### [100%]
--------------------------------------------------------------------------------
すんなり。

** もろとも殺されたパッケージたちの再招集
# yum install cronie cronie-anacron crontabs postfix sysstat
--------------------------------------------------------------------------------
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * epel: ftp.jaist.ac.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package cronie.x86_64 0:1.4.4-7.el6 will be installed
---> Package cronie-anacron.x86_64 0:1.4.4-7.el6 will be installed
---> Package crontabs.noarch 0:1.10-33.el6 will be installed
---> Package postfix.x86_64 2:2.6.6-2.2.el6_1 will be installed
---> Package sysstat.x86_64 0:9.0.4-20.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================================================================
 Package                                 Arch                            Version                                       Repository                     Size
===========================================================================================================================================================
Installing:
 cronie                                  x86_64                          1.4.4-7.el6                                   base                           70 k
 cronie-anacron                          x86_64                          1.4.4-7.el6                                   base                           29 k
 crontabs                                noarch                          1.10-33.el6                                   base                           10 k
 postfix                                 x86_64                          2:2.6.6-2.2.el6_1                             base                          2.0 M
 sysstat                                 x86_64                          9.0.4-20.el6                                  base                          225 k
Transaction Summary
===========================================================================================================================================================
Install       5 Package(s)
Total download size: 2.4 M
Installed size: 11 M
Is this ok [y/N]: y
--------------------------------------------------------------------------------
さくっと完了。

** mysqlを起動してみる
# /etc/init.d/mysql start
--------------------------------------------------------------------------------
Starting MySQL. SUCCESS!
--------------------------------------------------------------------------------
# mysql -V
--------------------------------------------------------------------------------
mysql  Ver 14.14 Distrib 5.6.10, for Linux (x86_64) using  EditLine wrapper
--------------------------------------------------------------------------------
おお。楽ちん。

** かくにん
mysqlのエラーログを確認すると、以下のエラーが。。
--------------------------------------------------------------------------------
2013-02-07 11:33:37 22172 [ERROR] Native table 'performance_schema'.'setup_actors' has the wrong structure
--------------------------------------------------------------------------------
デフォルトで使うでーたべーすの構成変わった?

** mysql_upgradeしてみる
# mysql_upgrade -uroot -p
--------------------------------------------------------------------------------
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
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.proxies_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
test.Bprime                                        OK
test.bench1                                        OK
test.onek                                          OK
test.tenk1                                         OK
test.tenk2                                         OK
Running 'mysql_fix_privilege_tables'...
Warning: Using a password on the command line interface can be insecure.
OK
--------------------------------------------------------------------------------
OKらしい。

** 再起動して確認
# /etc/init.d/mysql restart
--------------------------------------------------------------------------------
Shutting down MySQL.. SUCCESS!
--------------------------------------------------------------------------------
# /etc/init.d/mysql start
--------------------------------------------------------------------------------
Starting MySQL. SUCCESS!
--------------------------------------------------------------------------------
再起動後特に変なエラーもなし。


おわり

0 件のコメント:

コメントを投稿