0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WindowsServer2016にMariaDB+mroongaをサービスとしてインストールする

Posted at

概要

WindowsServer2016上で全文検索(groonga)付のMariaDBを使いたかったので、mroongaで提供されているzipファイルのバイナリを用いてインストールしたときの記録。
安易にデータディレクトリをd:\ドライブにしようとおもってハマったのと、サービス化にあたってあれこれしたので、そちらの対処記録ともいえる。

前提としているのは mroonga 11.0。
公式サイトのドキュメントに従い、msiパッケージでなくzip版をダウンロードしたものを利用する。
(通常はドキュメントにあるとおりmysqldを実行すれば問題なく動作する)

以下の記事を参考にしている。

準備

インストール

概ね MariaDB Community Server 10.4.11 - Installing on Windows 10 を参考にした。
コマンドプロンプトの操作は、インストール作業中は**「管理者として実行」**で利用する。

mariadb+mroongaのzipファイルの展開

今回はシステムのインストール先を c:\opt\mariadb とし、データを d:\var\lib\mariadb\data という設定とする。
zipファイルを c:\opt\mariadb に展開。

データディレクトリの初期化

c:\opt\mariadb\mariadb-10.2.36\bin\mysql_install_db.exe \
  --datadir=D:\var\lib\mariadb\data --password=<rootのパスワード>

このコマンド実行で、データディレクトリ内にmy.iniファイルが生成される。
元記事を参照しつつ、編集する。
注意事項としては上記作業でtimezoneの定義が消えるので、default-time-zoneだけコメントアウトした状態にしておく。

起動確認

編集した設定設定内容で起動できるか、コマンドライン上でサーバを起動してみる。
ここでエラーがでる場合は見直しておく。

mysqld.exe --defaults-file=D:\var\lib\mariadb\data\my.ini --console

タイムゾーンデータのインポート

準備でダウンロードした timezone_2021a_posix_sql.zip の中身のsqlファイルを取り出しておく。
以下を実行する。

mysql.exe --defaults-file=D:\var\lib\mariadb\data\my.ini -u root -p -D mysql < timezone_posix.sql

エラーがなければ、特に表示なく終了する。
my.ini の中で先ほどコメントアウトした default-time-zone を有効にする。
再びmysqldを--consoleオプションで起動し、エラーがでないことを確かめる。

mroongaプラグインの有効化

準備でダウンロードしておいた install.sql.in はMakeされる前の状態なので、手動で @MRN_PLUGIN_SUFFIX@.dll に置換しておく。
あらたにコマンドプロンプトを起動し(さきほどの--consoleのmysqldを起動したまま)、以下を実行。

mysql.exe --defaults-file=D:\var\lib\mariadb\data\my.ini -u root -p  < install.sql

こちらもエラーが出ないことを確認する。mysqlを起動し、プラグインが有効化されたか確認。
mroongaが YES になっていること。

> show engines;

サービスとして登録

起動していたmysqldは終了させる(ctrl+cで止められる)
以下のコマンドを実行。

mysqld  --defaults-file=D:\var\lib\mariadb\data\my.ini --install MariaDB

このコマンドでサービスが登録されるので、「コンピュータの管理」→「サービス」で確認することができる。
アンインストールについては以下のいずれかで行える。

mysqld --remove MariaDB

# or 

sc stop MariaDB
sc delete MariaDB

接続確認

上記設定群はローカル接続しか受け付けていないが、DataGripなりHeidiSQLなりで127.0.0.1:3306で接続できることを確認する。
必要に応じてbind設定する。

[mysqld]
# 省略
bind-address = 0.0.0.0
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?