DB

【MySQL】XAMPP内のMySQLバージョンアップ方法【簡単】

どうも、katです。

今回は、XAMPPに付属しているMySQLのバージョンアップ方法について書いていきます。

以外とググっても、情報が少なかったり、やってみてもうまく行かないものですよね。

今回は、私が行った手順を全て説明しますので、間違えなければ簡単にできる方法になります。

それでは説明していきます。

バージョンアップの必要性

そもそもなぜ、私の環境でバージョンアップが必要になったかという経緯についてお話しします。

ある日、viewにサブクエリを使用しようとしたとき、「View’s SELECT contains a subquery in the FROM clause」というエラーが出たからです。

MySQLのバージョンが古いと上記のように、最新では使えるのに、今のものだと使えないということが起きてしまいますので、定期的にバージョンアップすることをお勧めします。

前提

今回は、下記の環境を想定して記載していきます。

OS:Windows

サーバー:XAMPPインストール済み

バージョンに関しては、基本的にどのバージョンでも共通していると思います。

今回は例として、MySQL 5.7にアップグレードしていきます。

XAMPP内のMySQLバージョン確認

まずは、バージョンを確認しましょう。

一番手っ取り早い方法は、下記ファイルを確認することです。

C:\xampp\mysql\README

一行目に、下記のようにバージョンが記載してあります。

MySQL Server 5.6

今回は、5.7にしていきますので、それ以前であることを確認します。

ダウンロード、解凍

ダウンロードは、公式サイトから行います。

まずは、以下のサイトに遷移します。

MySQLダウンロードサイト

次に、画面下部の、「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を確認しようとするとエラーになる場合があります。

その場合は、下記の記事を参考にしてみてください。

【MySQL】「Table 'performance_schema.session_variables' doesn't exist」エラーの解決方法【簡単】どうも、katです。 今回は、MySQLで発生したエラーの解決方法について書いていこうと思います。 とくに、バージョンアップした際などに...

以上、「XAMPP内のMySQLバージョンアップ方法」でした~。

ABOUT ME
kat
プログラマー歴7年、2歳の子供を持つパパです。 興味のあることはプログラミングや今後のIT技術などです。 趣味でオンラインカードゲームのサイトを運営しております。 プログラミングを通して社会に貢献していきたいです。