Linuxにて「MySQL5.5」から「MySQL5.7」にバージョンアップする

mysql_logo_large

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

MySQL5.5 からのバージョンアップ

MySQL はバージョンアップする度に機能がアップしています。特に MySQL5.6 からは既存のテーブルに「ALTER TABLE」したときにテーブルロックが回避できたり、サブクエリが数百倍以上の性能アップをしていたりと大きな差があります。

今回は、MySQL5.5 から MySQL5.7 への移行を検証してみたので、手順をまとめます。
※実行環境は AWS で、CentOS や Amazon Linux で検証しています。

 

MySQL のバージョンアップ手順

yum コマンドで MySQL のモジュールを全てアンインストールした上で、MySQL5.7 の必要なモジュールをインストールしています。mysqldump コマンドなどでデータのバックアップを行っていませんが、データ自体はアンインストールの対象外である「ibdata1」に保存されていたためです。
※実際の環境で実行するときは念のため、バックアップ等をお取りください。

実行するコマンド

yum remove mysql*
yum install mysql57 mysql57-devel mysql57-server
mysql_upgrade -u root -p

 

サンプルコマンドの実行例

まずは MySQL のバージョンを確認しています。

 

MySQL の関連するモジュールを一括でアンインストールします。

 

使用する MySQL のモジュールをインストールします。

 

MySQL がバージョンアップされていることを確認します。

 

mysql_upgrade を実行する

MySQL のバージョンを変更したときには、mysql_upgrade コマンドを実行する必要があります。
「mysql_upgrade」を実行しなくても INSERT や SELECT、UPDATE などの主要なコマンドを実行できますが、ALTER TABLE など既存のデータベースへの変更命令を一切受け付けなくなりますので、必ず「mysql_upgrade」コマンドを実行しましょう。

[MySQL]mysql_upgrade コマンドを実行する
https://www.t3a.jp/blog/infrastructure/mysql-upgrade/

 

さいごに

いかがでしたでしょうか?

MySQL はバージョンアップとともに性能の向上も大きいので新しめのバージョンを使うことが多いです。実際に作業手順をまとめてみると MySQL のバージョンアップは簡単に行うことができますので、タイミングが合えばバージョンアップを検討しても良いかもしれません。

ただ手順の確認中に誤って2回ほど環境を壊していまいました(涙)
みなさんは実行時には必ずバックアップと検証してくださいね。