MariaDBをWindows10のサービスに登録する

mysql

Windowsとxamppを組み合わせた開発環境では、XAMPP Control PanelからMariaDBを起動するケースも多いだろう。

必要なときだけMariaDBを起動する運用も悪くないが、MariaDBをWindowsサービスに登録しておけばWindows起動と同時にMariaDBも使えるようになるので、ちょっとした省力化になる。

このエントリでは、WindowsサービスにMariaDBを登録した筆者の経験から、その手順と確認すべきポイントをまとめる。

Windows10のサービスにMariaDBを登録する

Windows10のサービスにMariaDBを登録する手順は下記の通り。

  1. 起動中のMySQLをシャットダウンする。MySQLが起動していなければこの手順は不要。
  2. コマンドプロンプトを管理者として実行する。
  3. コマンドラインから下記コマンドを実行する。
    mysqld --install

mysqld --installが正常に終了すると、コマンドプロンプトには下記メッセージが表示される。

Service successfully installed.

この状態で、Windowsのサービス一覧を確認すると、MySQLが表示されているはずだ。

Windows10のサービスに登録されたMariaDBを削除する

Windows10サービスに登録されたMariaDBを削除する手順は下記の通り。

  1. 起動中のMySQLをシャットダウンする。MySQLが起動していなければこの手順は不要。
  2. コマンドプロンプトを管理者として実行する。
  3. コマンドラインから下記コマンドを実行する。
    mysqld --remove

mysqld --removeが正常に終了すると、コマンドプロンプトには下記メッセージが表示される。

Service successfully removed.

サービスに登録したMariaDBが起動しないときのチェックポイント

MariaDBが読み込んでいるオプションファイル(設定ファイル)を確認

MariaDBに読み込ませるオプションファイル(設定ファイル)が、意図したとおりの場所にあるか確認する。

MariaDB設定ファイルの場所については、下記エントリを参照のこと。

WindowsにインストールしたMariaDBの設定が反映されないときは設定ファイルの場所を確認する
MariaDBの設定ファイルmy.iniは複数のディレクトリに分散して存在する。MariaDB設定ファイルがある場所と読み込み時の優先順位についてまとめる。

MariaDBのPATHを通しておく

WindowsのPATH環境変数にMariaDBの実行ファイルへのパスを通しておく。

パスを通すことで、MariaDBの各種ユーティリティ(MySQLクライアント、mysqladminなど)の呼び出しが容易になる。

PATH環境変数の設定については、2.3.5.6 MySQL ツールの PATH をカスタマイズするを参照のこと。

MariaDB設定ファイルに記述してあるパスを確認

MariaDBの設定ファイルには、パスを指定するオプションが多々ある。

例えば、「datadir」オプションにはMariaDBのデータディレクトリを指定する。

設定ファイル内でパスを指定する場合は、必ずフルパスで指定すること。

datadir = "/xampp/mysql/data"
ではなくて、
datadir = "c:/xampp/mysql/data"
と記述する。

特に、MariaDBのインストールディレクトリをデフォルトのディレクトリ以外にしている場合、このパス設定の不備による不具合が目立つ。

誤ったパスを指定すると、「エラー 1067:プロセスを途中で強制終了しました」が発生することが多い。

エラー1067

エラー1067


MariaDBをサービス登録するメリット

開発用としてMariaDBをWindowsにインストールする場合、特にサービス登録する必要もない。

むしろ、自分ですべての制御をコントロールしたいという技術者にとっては、サービス登録するメリットは少ないだろう。

しかし、Windowsの起動と同時にMariaDBが起動していると手間が減って便利なのだ。

だから、PCの電源を入れてWindows10が起動したら、MySQLも自動的に使える状態というのが結局使いやすい。

そんな理由で筆者も、MySQLをWindowsのサービスに登録している。

xamppには、MariaDBを起動するバッチファイル(mysql_start.bat)とシャットダウンするバッチファイル(mysql_stop.bat)が添付されているので、必要になった都度バッチを実行しても良いのだが、MariaDBのシャットダウンをしないままWindowsシステムをシャットダウンしてしまうと、稀にデータベースに不整合が発生してしまうこともあるので、サービス登録して置いた方が無難だろう。

MariaDBをWindowsサービスに登録する際に役立つ資料

タイトルとURLをコピーしました