どうも、katです。
今回は、XAMPPに付属しているMySQLのバージョンアップ方法について書いていきます。
以外とググっても、情報が少なかったり、やってみてもうまく行かないものですよね。
今回は、私が行った手順を全て説明しますので、間違えなければ簡単にできる方法になります。
それでは説明していきます。
バージョンアップの必要性
そもそもなぜ、私の環境でバージョンアップが必要になったかという経緯についてお話しします。
ある日、viewにサブクエリを使用しようとしたとき、「View’s SELECT contains a subquery in the FROM clause」というエラーが出たからです。
MySQLのバージョンが古いと上記のように、最新では使えるのに、今のものだと使えないということが起きてしまいますので、定期的にバージョンアップすることをお勧めします。
前提
今回は、下記の環境を想定して記載していきます。
OS:Windows
サーバー:XAMPPインストール済み
バージョンに関しては、基本的にどのバージョンでも共通していると思います。
今回は例として、MySQL 5.7にアップグレードしていきます。
XAMPP内のMySQLバージョン確認
まずは、バージョンを確認しましょう。
一番手っ取り早い方法は、下記ファイルを確認することです。
一行目に、下記のようにバージョンが記載してあります。
MySQL Server 5.6
今回は、5.7にしていきますので、それ以前であることを確認します。
ダウンロード、解凍
ダウンロードは、公式サイトから行います。
まずは、以下のサイトに遷移します。
次に、画面下部の、「No thanks, just start my download.」と書かれたリンクを押下します。
ダウンロードが終わったら解凍します。
古いMySQLと置き換える
次に、XAMPP内の、古いMySQLと入れ替えていきます。
まず、MySQLが起動している場合は、XAMPPのコントロールパネルから停止します。
「C:\xampp」に移動し、「mysql」というフォルダ名を「mysql_bk」に変更します。(失敗した場合に戻せるようにするためです)
解凍した新しいMySQLを、フォルダ(mysql-5.7.25-win32)ごと「C:\xampp」に移動します。
移動したら、フォルダ名を「mysql」に変更します。
「C:\xampp\mysql」に移動し、下記フォルダ・ファイルをmysql_bkからmysqlにコピーします。※移動ではなく、コピーします。
※基本的にC:\xampp\mysqlに無いものを移動します。
resetroot.bat
backup
data
scripts
my-default.ini
mysql_installservice.bat
mysql_uninstallservice.bat
bin/my.ini
C:\xampp\mysql\bin\my.iniを下記のように書き換えます。
・my.ini
[mysqld] の下に
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION ← 追記する
# key_buffer = 16M ← コメントアウトする
# innodb_additional_mem_pool_size = 2M ← コメントアウトする
起動
最後に、XAMPPコントロールパネルから、MySQLを起動します。
最後に
いかがだったでしょうか?
XAMPP内のMySQLということもあり、もっとてこずる思っていましたが、30分程で簡単にできてしまいました。
本文中にも記載しましたが、MySQLのバージョンが古いと、テーブルやviewの制約が変わったりしてエラーになってしまう場合もありますので、定期的にバージョンアップすることをお勧めします。
また、MySQL 5.7にバージョンアップ後、
show variables like "chara%";
というコマンドでcharasetを確認しようとするとエラーになる場合があります。
その場合は、下記の記事を参考にしてみてください。
以上、「XAMPP内のMySQLバージョンアップ方法」でした~。