MySQLとMariaDBを共存で動かす
2023-11-01 記載
概要:Win10でMySQLをPort3306、MariaDBをPort6603にして、ダブルDBサーバーへ
関連記事:ローカルにphpMyAdminをセットアップ
Keyword : MariaDB, MySQL, Adminer, my.ini
サーバーパネル→データベース→MySQL設定→MySQL情報タブ
で確認すると
MariaDB10.5
バージョン MariaDB10.5.x
とありました。
これは旧Xfreeサーバーでも同じ。MySQLのほうがレンタルサーバー界で名前の通りがよいから、MariaDBもMySQLも同じと扱うのが慣例です。
MySQLだと思って使っていたけど実はMariaDBだった、というのは、タラバガニだと思って食べていたけど実はアブラガニだった、というほどの違いはなく、ズワイガニ・松葉ガニ・越前ガニといった産地による呼び名の違いのようなもの、とここは解釈しておけばよさそうです。
さて、私がいま目指しているのは、cloudfreeサーバーのローカル開発環境の構築。
昔いれたMySQLが動いてますけど、なるべくサーバーにあわせるという狙いでMariaDBをインストールしてみます。MySQLはそのまま残して。
競合するのはポート番号。
3306は本家MySQLにそのまま使わせるとして、MariaDBをどうするか。
3307とか、3316などがそういうケースで採用されているみたい。
パッとみ、同類であるとわかるけど、見間違うこともない番号、を考えてひらめきました。
6603
ファイアウォールで出てこないことと、TCP/UDP PORTインデックスというサイト
https://hi-nemos.com/port/?port=6603
で調べてみましたがメジャーなツールと被ってないようです。
『これでいこう!』
いざMariaDB公式サイトへ。https://mariadb.com/
MariaDB 10.5.x に近いものとして、MariaDB Server 10.5.22 をDownload。
Zip版のほうがMySQL共存の融通がきくと思いそちらを選びましたが。
取説
https://mariadb.com/kb/en/installing-mariadb-windows-zip-packages/
に従い、
C:\zip_unpack\directory> bin\mysqld_install_db.exe
の手順を踏むとエラー。
‘mysqld_install_db.exe’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
dirでみたらちゃんとあるし……『んー、んー』としばし悩んで気づきました。
ブラウザから “mysqld_install_db.exe”をコピペしたのが失敗。
“mariadb-install-db.exe”と本物はハイフンでした。
実行できたいいけど、次のステップ、my.iniをどう設定してよいかが不明。さらにサービスとして起動させる情報も少ない。Zipパックには mariadbd.exe が含まれていて、これがサービスexeのようではあるが。
msi版だったらインストール時に、ポート番号・rootユーザーのパスワードの入力があり、即使える状態にセットアップしてくれるみたい。ここはmsi版に頼ろう、とmsi版をDownloadしなおしました。
念のためにMySQLのサービスを停止させてからInstall開始。

インストール先は自由に設定できます。

rootユーザーのパスワードを設定。スタンドアロンでしか使わないけどrootの外部接続を許可。UTF-8をデフォルトに。

port 6603、ほかは初期値のまま。
そしてInstall。成功。
サービス一覧を開いたら、もうMariaDB、動いてました。

実行ファイルのパス
“C:\pgm\mariadb\bin\mysqld.exe” “–defaults-file=C:\pgm\mariadb\data\my.ini” “MariaDB”
exe名がmysqld.exeですね。( mariadbd.exe はまだひとり立ちできないのかな )
iniのパスを起動オプション指定してます。そのiniを開いてみますと。
[mysqld]
datadir=C:/pgm/mariadb/data
port=6603
innodb_buffer_pool_size=2025M
character-set-server=utf8
[client]
port=6603
plugin-dir=C:/pgm/mariadb/lib/plugin
MySQLのmy.iniと比べるとずいぶんスッキリです。すべてデフォルト値、ということでしょうか。
Adminerで稼働状態を確認。

サーバに localhost:6603
作成した root ユーザーでログイン。

10.5.22-MariaDB でバッチリ動いています。
再起動させてMySQLとMariaDB、両の立ち上がりを確認。
Adminerをタブ2つ出してそれぞれに接続。
MySQLバージョン:10.5.22-MariaDB、 PHP拡張機能 MySQLi
MySQLバージョン:8.0.29、 PHP拡張機能 MySQLi
両方で無事にデータベース一覧を取得できてました。
とりあえず成功♪