xamppに最新版のMYSQLを入れてみた

先日xamppにPHP8.4を入れました。
その際に、phpMyAdminを最新版にしました。
phpMyAdminを最新版にバージョンアップした際にこう思いました。
ついでにxamppのMySQLも最新版にできないものか・・・。
xamppでPHPとphpMyAdminとMYSQLを最新版にできれば、開発環境としてはとても助かります。
ということで、今回はxamppにMYSQL最新版を入れてみました。
今回の環境

私は開発環境としてxamppを使用しています。
ただ複数のPHPバージョンを使用するため、ポータブル版のxamppを使用しています。
ポータブル版は、コピーするだけで使えるバージョンのため、複数のxamppをインストールできるためです。
それぞれPHPのバージョンが異なるxamppを複数インストールしておけば、目的のxamppを起動するだけで、PHPのバージョンを替えられるので便利です。
なので今回は以下の環境にMYSQLを入れてみました。
- xampp8.2(Windows ポータブル版)
- PHP8.4(手動で導入)
- phpMyAdmin6.0(手動で導入)
(1)MYSQLをダウンロードする
まずはxamppにインストールするMYSQLをダウンロードします。
ダウンロードは以下のところからできます。
https://www.mysql.com/jp/downloads
ダウンロードするまでの道のり
ダウンロードリンクは少しわかりにくいので、以下の図を参考ください。
目的バージョンのZIP版MYSQLをダウンロードします。




既存のMYSQLフォルダをリネームし新規でMYSQLフォルダを作成
既存のMYSQLフォルダをリネームしたら、新規で空のmysqlフォルダを作成します。
もともとの名称と同じにしたほうが、xamppの設定を変えなっくてもよいので楽です。

新しく作成したMYSQLフォルダにダウンロードしたMYSQLをコピー
ダウンロードしたZIP版のMYSQLを解凍し、新規作成したMYSQLフォルダにコピーします。

(2)MYSQLの初期化を行う
MYSQLのコピーが終了したら、MYSQLの初期化を行います。
MYSQLはコピーしただけでは動作せず、初期化を行って初めて動作するようになります。
コマンドプロンプトを管理者権限で起動する
Windows標準で備え付けられているコマンドプロンプトを管理者権限で実行します。
管理者権限は、コマンドプロンプトアイコンを右クリックし、「管理者として実行」をクリックします。

プロンプトをMYSQLフォルダに向けます
コマンドプロンプトで、cd [xamppインストールフォルダ名]\mysql を打ち、MYSQLフォルダに向けます。

MYSQLを初期化しMYSQLモードにする
以下のコマンドを1行ずつ打ち込み、MYSQLを初期化します。
初期化後、MYSQLモードに入ります。

phpMyAdminに必要な初期テーブルを生成します
MYSQLを新しくすると、当然phpMyAdminも動かなくなります。
phpMyAdminに必要なMYSQLテーブルがないためです。
なので、phpMyAdminに必要なアカウントとテーブルを生成します。
xampp版のphpMyAdminのsqlフォルダ内にある、SQL文を実行します。
1 2 | CREATE USER pma@localhost; SOURCE[xamppインストールフォルダ名]/phpMyAdmin/sql/create_tables.sql; |
もし、phpMyAdminも最新版を導入している場合は、sqlフォルダは付随していないため、事前に古いほうのphpMyAdminフォルダからsqlフォルダを新しい、phpMyAdminフォルダ下へコピーしておきます。

生成したphpMyAdminのアカントに権限を与える
生成したphpMyAdminのアカウントに権限を与え、動作するようにします。
1 2 3 4 | GRANT SELECT,INSERT,DELETE,UPDATE,ALTER ON phpmyadmin.*TOpma@localhost; ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY''; ALTER USER pma@localhost IDENTIFIED WITH mysql_native_password BY''; \q |

MYSQLを終了する
MYSQLを終了させます。
1 | bin\mysqladmin-uroot shutdown |

(3)my.iniファイルを編集する
my.iniファイルをコピーする
xamppでMYSQLを動かすには、my.iniファイルが必要です。
ですが、公式からダウンロードしたMYSQLにはmy.iniファイルがありません。
なので、古いmysqlフォルダからコピーします。
場所はmysql/bin フォルダに入っています。

key_bufferをコメント化しkey_buffer_sizeを付け足す
my.iniファイルをコピーしたら、key_bufferをコメント化します。
代わりにkey_buffer_sizeを付け足します。
1 2 3 4 | # コメント化 # key_buffer = 16M # 新たに以下のコードをつけたす key_buffer_size=16M |
これは、新しいMYSQLではkey_bufferが廃止され、代わりにkey_buffer_size となったためです。

xamppを再起動すれば新しいMYSQLが動作します
ここまで出来たらxamppを再起動し、ApachとMySQLの開始ボタンを押し、MYSQLが動作が確認できました。
phpMyAdminで確認すると、MYSQLの最新バージョンに切り替わっていました。

更新が止まったxamppでもまだしばらくは使えそうです

今回の作業は、そもそもxamppの更新が1年以上止まっていることに起因しています。
その間にPHPのバージョンが上がり、開発等に影響が出始めました。
開発環境のほうがバージョンが古いと、実機で動かしたときにエラーが発生するかもしれません。
そうならないようにするために、開発環境には最新版を盛り込んでおくことが大事です。
ですが、今回PHPならびにMYSQLの最新版を手動でxamppに導入できたことで、しばらくはxamppで開発ができそうです。
いずれ、Apacheが古くなることも予測されますが、PHPの開発にはそれほど影響しないので、今しばらくxamppで行けそうです。