Windowsとxamppを組み合わせた開発環境では、XAMPP Control PanelからMariaDBを起動するケースも多いだろう。
必要なときだけMariaDBを起動する運用も悪くないが、MariaDBをWindowsサービスに登録しておけばWindows起動と同時にMariaDBも使えるようになるので、ちょっとした省力化になる。
このエントリでは、WindowsサービスにMariaDBを登録した筆者の経験から、その手順と確認すべきポイントをまとめる。
Windows10のサービスにMariaDBを登録する
Windows10のサービスにMariaDBを登録する手順は下記の通り。
- 起動中のMySQLをシャットダウンする。MySQLが起動していなければこの手順は不要。
- コマンドプロンプトを管理者として実行する。
- コマンドラインから下記コマンドを実行する。
mysqld --install
mysqld --install
が正常に終了すると、コマンドプロンプトには下記メッセージが表示される。
Service successfully installed.
この状態で、Windowsのサービス一覧を確認すると、MySQLが表示されているはずだ。
Windows10のサービスに登録されたMariaDBを削除する
Windows10サービスに登録されたMariaDBを削除する手順は下記の通り。
- 起動中のMySQLをシャットダウンする。MySQLが起動していなければこの手順は不要。
- コマンドプロンプトを管理者として実行する。
- コマンドラインから下記コマンドを実行する。
mysqld --remove
mysqld --remove
が正常に終了すると、コマンドプロンプトには下記メッセージが表示される。
Service successfully removed.
サービスに登録したMariaDBが起動しないときのチェックポイント
MariaDBが読み込んでいるオプションファイル(設定ファイル)を確認
MariaDBに読み込ませるオプションファイル(設定ファイル)が、意図したとおりの場所にあるか確認する。
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:プロセスを途中で強制終了しました」が発生することが多い。
MariaDBをサービス登録するメリット
開発用としてMariaDBをWindowsにインストールする場合、特にサービス登録する必要もない。
むしろ、自分ですべての制御をコントロールしたいという技術者にとっては、サービス登録するメリットは少ないだろう。
しかし、Windowsの起動と同時にMariaDBが起動していると手間が減って便利なのだ。
だから、PCの電源を入れてWindows10が起動したら、MySQLも自動的に使える状態というのが結局使いやすい。
そんな理由で筆者も、MySQLをWindowsのサービスに登録している。
xamppには、MariaDBを起動するバッチファイル(mysql_start.bat)とシャットダウンするバッチファイル(mysql_stop.bat)が添付されているので、必要になった都度バッチを実行しても良いのだが、MariaDBのシャットダウンをしないままWindowsシステムをシャットダウンしてしまうと、稀にデータベースに不整合が発生してしまうこともあるので、サービス登録して置いた方が無難だろう。