XAMPP(ザンプ)のインストール方法は過去記事「WindowsでPHPを動かすための環境構築手順【XAMPP(ザンプ)】」でご紹介しました。
XAMPPインストール後のControl PanelにはMySQLと表示されてるのですが実はXAMPPデフォルトのDBはMariaDBです。
XAMPPの標準DBがMariaDBであることに気付いたとき、多くの開発者が驚かれます。XAMPPはPHP開発者にとって非常に便利なローカル開発環境ですが、MariaDBとMySQLの違いやその使い方について混乱することがあります。そこで、今回はXAMPPのデフォルトデータベースであるMariaDBをMySQLに変更する方法について詳しく解説します。
(以下、Windows11のPC環境で行った内容になります)
はじめに
XAMPPを使用すると、簡単にWindowsでPHPの環境を構築することができます。しかし、データベースを使用する際には、XAMPPのControl Panelで「MySQL」と表示されているにも関わらず、実際にはMariaDBが動いていることがあります。これは、MariaDBがMySQLのフォークとして開発されたもので、ほとんどの場合、MySQLとの互換性があるためです。
しかし、何らかの理由でMariaDBではなくMySQLを使用したい場合、以下の手順でXAMPPのMariaDBをMySQLに変更することができます。
インストールしたいMySQLバージョンをダウンロード
以下からインストールしたいMySQLバージョンとOSを選択してダウンロードします。
MySQL :: Download MySQL Community Server (Archived Versions)
ダウンロードしたMySQLをxamppのmysqlディレクトリと差替え
XAMPP Control PanelよりActions全て停止(Stop)しておきます。
ウンロードしたMySQL(例:mysql-5.7.38-winx64.zip)を解凍(例:mysql-5.7.38-winx64)し、xamppのインストールディレクトリ配下の
C:\xampp\mysql
を
C:\xampp\mysql_MariaDB
に変更します。
解凍したMySQLフォルダ「例:mysql-5.7.38-winx64」を「mysql」にリネームして、xamppのインストールディレクトリ配下
C:\xampp\mysql
に配置します。
MariaDBのmy.iniファイルをコピーする
MariaDBのmy.iniファイル
C:\xampp\mysql_MariaDB\bin\my.ini
を
C:\xampp\mysql\bin\my.ini
にコピーし、コピーしたmy.iniファイル内(28行目~36行目辺り)の
key_buffer=16M
をコメントアウト
#key_buffer=16M
に変更して保存します。
コマンドプロンプトでデータディレクトリの初期化
コマンドプロンプトを起動し、mysqlディレクトリに移動してでデータディレクトリの初期化を行います。
以下をコマンドプロンプトで実行します。
cd C:\xampp\mysql
bin\mysqld --initialize-insecure
start /b bin\mysqld
bin\mysql -u root
MySQLにUSERとテーブルを作成
MySQLにUSERを作成し、
C:/xampp/phpMyAdmin/sql/create_tables.sql
ファイル内容のテーブルを作成します。
以下のmysqlコマンドをコマンドプロンプトで実行します。
CREATE USER pma@localhost;
SOURCE C:/xampp/phpMyAdmin/sql/create_tables.sql;
GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO pma@localhost;
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '';
ALTER USER pma@localhost IDENTIFIED WITH mysql_native_password BY '';
XAMPP Control Panelを起動し、サーバの種類:MySQLになっていることを確認
XAMPP Control Panelの「MySQL」の「Admin」ボタンをクリックし、phpMyAdminを起動します。
phpMyAdminの「データベースサーバ」エリアより「サーバの種類:MySQL」となっていることが確認できたらMariaDBをMySQLに変更完了です。
ソース元:XamppのMariaDBをMySQLに置き換える方法(2)
以下を参考にさせて頂きました。
XamppのMariaDBをMySQLに置き換える方法(2)
※流用される場合は自己責任でお願いします。