2013-12-18

remiリポジトリからyumでインストールしたmysql5.5を5.6にyum updateする

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
yumは依存関係をいい感じで解決してくれるので便利ですね。

ただmysqlとかはバージョンが古めのものがインストールされちゃう傾向があります。

なのでちょっと前まではmysqlの新しいバージョンを利用するためにremiリポジトリを使ったりしていました。
でもこちらも5.6には対応していないようです。

と思っていたらmysql公式のリポジトリができていたようです。
こちらを追加するとremiでインストールした5.5のmysqlを5.6にアップデートできます。

手順は以下のような感じです。

・rootになる
rootで作業します。
su -

・バックアップの作成
設定ファイルとデータベースを念のためバックアップします。
cp /etc/my.cnf .
mysqldump -u root --all-databases > mysql_dump

・mysql公式のリポジトリを追加
CentOS6では以下のような感じで追加します。
yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

CentOS5の場合は
http://dev.mysql.com/downloads/repo/
から以下のrpmをダウンロードします。
mysql-community-release-el5-5.noarch.rpm
インストールの前にmysqlレポジトリ用のgpgキーというものが必要になります。
http://dev.mysql.com/doc/refman/5.5/en//checking-gpg-signature.html
に記載されている
-----BEGIN PGP PUBLIC KEY BLOCK-----
から
-----END PGP PUBLIC KEY BLOCK-----
までの内容をmysql-gpg.txtみたいなファイル名のテキストファイルに保存して
rpm --import mysql-gpg.txt
とすることでキーの登録ができます。
その上でrpmでインストールします。
yum install -y mysql-community-release-el5-5.noarch.rpm

これ以降は、CentOS5でもCentOS6でも変わりません。

・mysql停止
mysqlをとめます。
service mysqld stop

・mysqlのアップデート
mysqlをアップデートします。
yum -y update mysql-server mysql-devel

・mysql起動
mysqlを起動します。起動に失敗する場合は/var/log/mysql.logなどのlogファイルを確認します。
mysql5.6になって利用できなくなった設定を/etc/my.cnfに書いていると起動に失敗したりします。
service mysqld start

・既存DBのアップデート
既存DBに更新処理をかけます。
mysql_upgrade


これで、もともとは入っていた
mysql-libs-5.5.31-1.el6.remi.x86_64
mysql-server-5.5.31-1.el6.remi.x86_64
mysql-devel-5.5.31-1.el6.remi.x86_64
mysql-5.5.31-1.el6.remi.x86_64
みたいなものが以下のように更新されました。
mysql-community-common-5.6.15-1.el6.x86_64
mysql-community-server-5.6.15-1.el6.x86_64
mysql-community-release-el6-5.noarch
mysql-community-client-5.6.15-1.el6.x86_64
mysql-community-libs-5.6.15-1.el6.x86_64
mysql-community-devel-5.6.15-1.el6.x86_64


参考にさせていただいたサイトは以下です。
http://d.hatena.ne.jp/akishin999/20131029/1383050569


コメントを投稿