技術日記
vistaでmysqldをサービス登録するEdit

tritonnのWindowsバイナリをd:\mysqlにコピーして、

d:\mysql\bin\mysqld-net --install mysql

とかしようと思ったら、

Install/Remove of the Service Denied!

とかでてサービス登録できない。なぜかと思ったらvistaのUACのせいらしい。コマンドプロンプト自体を明示的に「管理者として実行」して、「管理者:コマンドプロンプト」から実行したら、ふつうに登録できた。

vistaのUACは、自分が管理者アカウントでログインしているときでも、こうやって明示的に「管理者として実行」しないといけないときがあるけど、その仕組みがよくわからん。

で、サービスとして登録できたから、

net start mysql

とかしたらエラーが出て止まる。イベントログを見ると

Can't find messagefile 'C:\mysql\share\english\errmsg.sys'

とか書いてあって、どうやらデフォルトでc:\mysqlを見に行っているせいらしい。コンパネのサービスからmysqlの起動オプションに

--basedir=d:/mysql

とかつけたらようやく動きだした。

コンパネから起動オプションを追加しただけだと

再起動したら起動オプションを忘れてしまうらしい。いったんmysqlサービスを終了してから、

mysqld-nt --remove mysql

してサービスを削除し、

mysqld-nt --install MySQL --basedir=d:/mysql

みたいに起動オプション付きでサービス登録した方がよさそう。

Published At2009-10-29 00:00Updated At2019-12-30 23:59