CentOS5.9のMySQLを5.6.14にアップデートする方法


投稿日:2013年10月17日
  • 6
  • 0



バージョンアップするごとに革新的に進化を続けるMySQL

mysqlinstall

その中でもMySQL5.6では「InnoDB FullText Search」がサポートされました。「色々試してみたい…」となるのが人情というものでしょうw

今回の環境はOSが64bitでCentOS5.9既にMySQLを運用していて、最新版であるMySQL5.6.14にアップデートする。という前提で話を進めます。

まったくの新規で設定をしたいということなら「以前の投稿」をご覧ください。


古いMySQLをアンインストール

早速アンインストールと行きたいところですが、既に古いバージョンで運営されている場合はバックアップを取ることをお勧めします。

データベースのバックアップ

特に注意する点はありませんが、権限やファイルの作成日をそのままコピーするためにオプションで「-arp」を追加してください。

# cd /var/lib ←ディレクトリの移動
# ls -lh mysql ←サイズの確認(サーバのリソースも合わせて確認しておくと安心です)
# cp -arp mysql mysql.backup ←バックアップ

設定ファイルのバックアップ

今回はrpmでインストールするので、バックアップファイルを自動で作成してくれますが、何があるかわかりません。苦労してチューニングした設定ファイルが無くなって泣かないためにも、しっかりバックアップしておきます。

# cd /etc ←ディレクトリの移動
# cp my.cnf my.cnf.org ←バックアップ

古いバージョンのMySQLをアンインストール

rpmでアップデートしようとしても「エラー: 依存性の欠如:」と出て止まってしまいます。そこでまずアンインストールを先にします。
アンインストールする前にバージョンを調べます。

# rpm -qa | grep -i ^mysql
mysql55-libs-5.5.28-2.ius.el5
mysql55-5.5.28-2.ius.el5
mysql55-server-5.5.28-2.ius.el5

以上3つのファイルを削除します。

# yum erase mysql55-libs-5.5.28-2.ius.el5 mysql55-5.5.28-2.ius.el5 mysql55-server-5.5.28-2.ius.el5

(省略)

================================================================================
 Package              Arch         Version                Repository       Size
================================================================================
Removing:
 mysql55              x86_64       5.5.28-2.ius.el5       installed        40 M
 mysql55-libs         x86_64       5.5.28-2.ius.el5       installed       4.1 M
 mysql55-server       x86_64       5.5.28-2.ius.el5       installed        42 M

Transaction Summary
================================================================================
Remove        3 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: y ←YESかNOを聞かれるのでyを押してエンター
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : mysql55                                                  1/3
  Erasing        : mysql55-libs                                             2/3
警告: /etc/my.cnf は /etc/my.cnf.rpmsave として保存されました。
  Erasing        : mysql55-server                                           3/3
警告: /var/log/mysqld.log は /var/log/mysqld.log.rpmsave として保存されました。

Removed:
  mysql55.x86_64 0:5.5.28-2.ius.el5
  mysql55-libs.x86_64 0:5.5.28-2.ius.el5
  mysql55-server.x86_64 0:5.5.28-2.ius.el5

Complete!

Complete!」と出れば完了です。


最新版のMySQLをインストール

yumでインストールできるものはyumで、できなければrpm。ということでyumで確認してみます。(当環境では非公式リポジトリをデフォルトでは参照しないようにしているので「–enablerepo」オプションを付けて有効にしています。)

# yum list updates --enablerepo=remi,epel,ius | grep mysql

mysql55.x86_64                          5.5.33-1.ius.el5                    ius
mysql55-libs.x86_64                     5.5.33-1.ius.el5                    ius
mysql55-server.x86_64                   5.5.33-1.ius.el5                    ius
php54-mysql.x86_64                      5.4.19-1.ius.el5                    ius

どうやら利用しているリポジトリの情報だと5.5.33-1が最新版のようです。

それならMySQLの公式からダウンロードしようかなと考えていましたが、日本のミラーサーバである「jaist」で公開されているようなので、利用させていただきます。
それぞれCentOSの64bit、32ビット版だけでなく、solaris版、Windows版なども用意されているので、環境に合ったものを選択してください。

あとで「やっぱり必要だった」となると面倒なので、ひと通りインストールしてしまいます。

# rpm -Uvh \
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.14-1.rhel5.x86_64.rpm \
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.14-1.rhel5.x86_64.rpm \
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.14-1.rhel5.x86_64.rpm \
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-5.6.14-1.rhel5.x86_64.rpm \
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.14-1.rhel5.x86_64.rpm \
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-test-5.6.14-1.rhel5.x86_64.rpm

準備中...                ########################################### [100%]
   1:MySQL-client           ########################################### [ 17%]
   2:MySQL-devel            ########################################### [ 33%]
   3:MySQL-server           ########################################### [ 50%]
   4:MySQL-shared           ########################################### [ 67%]
   5:MySQL-shared-compat    ########################################### [ 83%]
   6:MySQL-test             ########################################### [100%]

/etc/my.cnf」の状態を確認して、MySQLの5.6からタイムスタンプの仕様が変わったため、1つだけ追加します。
mysqldセクションに追加してください。

explicit_defaults_for_timestamp=true

問題ないようなら、サーバを起動します。

# /etc/init.d/mysql start
Starting MySQL.. SUCCESS!

SUCCESS!」と出れば無事に起動しました。
あとはアップデート時のテーブルの更新をするだけです。

# mysql_upgrade -u root -p
MySQL用のパスワードを入力

以上でアップデート作業は完了です。

一応バージョンを確認しておきます。

mysql --version
mysql  Ver 14.14 Distrib 5.6.14, for Linux (x86_64) using  EditLine wrapper

無事5.6.14がインストールされました。

何日か運用してみて問題ないようなら、バックアップしたデータベースを削除します。


現在のページを共有する



現在のページに関連する記事

CentOS5.9のMySQLを5.6.14にアップデートする方法 目を見張るスピードで進化を続けるMySQLのバージョンアップと初期設定
CentOS5.9のMySQLを5.6.14にアップデートする方法 yumコマンドで外部リポジトリを指定して、最新のPHPにバージョンアップ
CentOS5.9のMySQLを5.6.14にアップデートする方法 インストールだけじゃない!yumの設定から便利な使い方まで徹底的に解説
CentOS5.9のMySQLを5.6.14にアップデートする方法 MySQLのインストールと各種設定、phpMyAdminのインストールと設定
CentOS5.9のMySQLを5.6.14にアップデートする方法 CentOSでカーネルの再構築を行いカーネルモジュールを有効にする方法
CentOS5.9のMySQLを5.6.14にアップデートする方法 「-j」オプションと「ccache」でコンパイル時間を400%高速化する方法
CentOS5.9のMySQLを5.6.14にアップデートする方法 外部リポジトリの追加と、yum-prioritiesを利用した優先順位の設定

おすすめの記事

DNS Amp攻撃の解説と、踏み台にされないためのBIND DNSの設定

DNS Amp攻撃の解説と、踏み台にされないためのBIND DNSの設定

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャッシュの仕組み

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャ…

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決まり!

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決…

iptablesの設定ファイルをシェルスクリプトを利用して動的に作成

iptablesの設定ファイルをシェルスクリプトを利用して動的に作成

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

Question2AnswerへreCAPTCHAを導入する方法

Question2AnswerへreCAPTCHAを導入する方法

Adblock対策プラグイン「End of Adblock Cycle」を作成しました

Adblock対策プラグイン「End of Adblock Cycle」を作成しました

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

自前の国別IPv6、IPv4アドレス割当リストを作成しよう


いただいたコメントなど

  1. d のコメント:

    とても助かりました。

    以下、タイポかと。
    「pm -qa | grep -i ^mysql」–> 「rpm -qa | grep -i ^mysql」

d へ返信する コメントをキャンセル

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。