本編では、XAMPP で稼働している MariaDB を MariaDB-with-Mroonga ( Mroongaの使えるMariaDB ) に置き換える事を目的としています。以下で説明するXAMPPのバージョンは次の通りです:
また、Mroonga のインストール先は、本編のXAMPPと同じ以下のフォルダとします:
D:\usr\xampp7.3.15\mysql
尚、Mroonga Windows版のインストール方法については以下に掲載されています。
本編で対象としている XAMPP7.3 に同封されている MariaDB 10.4.11 と同じマイナーバージョンを持つ MariaDB-with-Mroonga をダウンロードします。ここでは、MariaDB 10.4.12(with Mroonga9.12) の Windowsバイナリを以下のサイトから入手します。
■ MariaDB 10.4.XX と同じマイナーバージョンを持つ以下のzipファイルを選択し、適当な場所にダウンロードします。
mariadb-10.4.12-with-mroonga-9.12-winx64.zip
注意
他のバージョンのXAMPPをお使いの方も同様の方法でできると思います。XAMPPに同封されているMariaDBと同じバージョンを使用する理由は、稼働中のMariaDBのmy.iniを使用したいからです。my.iniを自分で設定する場合は、お好みのバージョンのMroongaをご使用下さい。また、Mroongaの多少のマーナ―バージョンの違いは許容範囲内だと思います。
まず最初に、稼働中のMariaDBを停止してmysqlフォルダをリネームします。
{XAMPP-Folder}\xampp-control.exe
) または Windowsの [コンピュータの管理 > サービス] を使って mysqlサービスを停止します。mysql
)を mysql.org
リネームします。D:\tmp\mariadb-10.4.12-with-mroonga-9.12-winx64
D:\tmp\mariadb-10.4.12-with-mroonga-9.12-winx64\mariadb-10.4.12-winx64
D:\usr\xampp7.3.15\mysql
XAMPP で稼働中だった MariaDB の my.ini を新しいmysqlフォルダにコピーします。
【コピー元】D:\usr\xampp7.3.15\mysql.org\bin\my.ini
【コピー先】D:\usr\xampp7.3.15\mysql\bin\my.ini
注意
Mroonga に限らず MariaDB でも現在は my.ini のサンプルファイル( my-small.iniやmy-medium.ini、my-large.iniなど ) はWindowsバイナリに同封されていません。「なぜ同封されなくなったのか?」の事情は、以下のページが参考になるかもしれません。
https://jira.mariadb.org/browse/MDEV-9882
XAMPPのコントロールパネル({XAMPP-Folder}\xampp-control.exe
) または Windowsの [コンピュータの管理 > サービス] を使って mysqlサービスを開始します。
注意
XAMPPの設定をそのまま利用しているので、XAMPPでインストールした時のサービスの設定が利用できます。手動でサービスを設定したい場合は、本編のXAMPP 7.2のインストール サービスの手動登録を参照して下さい。
コマンドプロンプトを起動して、mysqlフォルダ下のbin( D:\usr\xampp7.3.15\mysql\bin
)に移動して下さい。mysqlコマンドをrootユーザで起動します。
D:\> mysql -u root version Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 15 Server version: 10.4.14-MariaDB Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
バージョンを確認します。
MariaDB [(none)]> select @@version; +-----------------+ | @@version | +-----------------+ | 10.4.14-MariaDB | +-----------------+
Mroonga がデータベースエンジンとして利用できるかを調べます。
MariaDB [(none)]> show engines; +--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+ | CSV | YES | Stores tables as CSV files | NO | NO | NO | | MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | Aria | YES | Crash-safe tables with MyISAM heritage. Used for internal temporary tables and privilege tables | NO | NO | NO | | MyISAM | YES | Non-transactional engine with good performance and small data footprint | NO | NO | NO | | SEQUENCE | YES | Generated tables filled with sequential values | YES | NO | YES | | Mroonga | YES | CJK-ready fulltext search, column store | NO | NO | NO | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, foreign keys and encryption for tables | YES | YES | YES | +--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
XAMPPで設置した phpmyadmin も MariaDB with Mroonga で使えます。但し、phpmyadmin の初期設定を置き換えた新しいデータベースにしなければなりません。
ローカルホストのphpmyadminにアクセスします。
http://localhost/phpmyadmin/
■ 起動後、以下のエラーが表示されます。
(!) mysqli::real_connect(): (HY000/1045): Access denied for user 'pma'@'localhost' (using password: NO) (!) 設定ファイルに定義されている管理ユーザ(controluser)での接続に失敗しました。
メニューの[インポート]を選択します。
■ 以下のファイルを選択し、画面下の[実行]ボタンを押します。
D:\usr\xampp7.3.15\phpMyAdmin\sql\create_tables.sql
メニューの[SQL]を選択します。
■ 以下のSQL文を入力して、[実行]ボタンを押します。
GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON `phpmyadmin`.* TO 'pma'@localhost;
以上で、MariaDB で Mroonga が使えるようになりました。