mysqlを Windows のサービスとして起動出来ない(エラー 1067)

mysqld を Windows のサービスとして登録しようとしたところ、エラー 1067 が発生した。

  • mysql-noinstall-5.0.24a-win32.zip を解凍後、サービスに登録

http://dev.mysql.com/downloads/

# mysqld-max-nt --install
  • その後、サービス起動するとエラー 1067 が発生する。
# net start mysql
MySQL サービスを開始します.
MySQL サービスを開始できませんでした。

システム エラーが発生しました。

システム エラー 1067 が発生しました。

プロセスを途中で強制終了しました。

設定ファイルがうまく読み込めていない模様
http://dev.mysql.com/doc/refman/5.0/en/windows-troubleshooting.html

  • いったんサービス削除後、設定ファイルを指定したインストールを行ったところ正常に起動できた
# mysqld-max-nt --remove
Service successfully removed.

# copy my-medium.ini c:\my.ini
# mysqld-max-nt --install MySQL --defaults-file=C:\my.ini

Service successfully installed.

# net start mysql
MySQL サービスを開始します.
MySQL サービスは正常に開始されました。
  • my.ini には以下の設定を追加
[mysqld]
character-set-server = SJIS
[mysql]
default-character-set = SJIS

Tomcatの場合は cp932

[mysqld]
character-set-server = cp932
[mysql]
default-character-set = cp932