Windows で MySQL を実行する場合、Windows の起動および停止時に MySQL が自動的に起動および停止するように、Windows サービスとしてインストールすることが推奨されています。MySQL Server をサービスとしてインストールすると、NET コマンドを使用してコマンド行から、あるいはグラフィカル Services ユーティリティーで管理することもできます。一般に、MySQL を Windows サービスとしてインストールするときは、管理者権限のあるアカウントを使ってログインするようにしてください。
MySQL Notifier GUI を使用して、MySQL サービスのステータスをモニターすることも可能です。
Services ユーティリティー (Windows サービスコントロールマネージャー) は、Windows のコントロールパネル (Windows 2000、XP、Vista、および Server 2003 では の下) にあります。競合を避けるために、サーバーのインストールまたはコマンド行からの削除操作の際には、Services ユーティリティーを閉じることを推奨します。
サービスのインストール
現在サーバーを実行中の場合は、MySQL を Windows のサービスとしてインストールする前に次のコマンドを使用して停止してください。
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin"
-u root shutdown
MySQL の root
ユーザーアカウントにパスワードが設定されている場合は、mysqladmin を -p
オプションを使って起動し、要求されたらパスワードを入力する必要があります。
このコマンドは MySQL 管理ユーティリティー mysqladmin を起動してサーバーに接続し、サーバーにシャットダウンを命令します。そのコマンドは MySQL root
ユーザーとして接続します。これは MySQL の許可システムのデフォルトの管理アカウントです。
MySQL 許可システム内のユーザーは、Windows のログインユーザーとは完全に独立しています。
サーバーをこのコマンドを使用してサービスとしてインストールします。
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --install
サービスのインストールコマンドはサーバーは起動しません。それについてはこのセクションで後述します。
MySQL プログラムの起動を簡単にするために、MySQL の bin
ディレクトリのパス名を Windows システムの PATH
環境変数に追加できます。
Windows デスクトップで、「マイコンピュータ」 アイコンを右クリックして を選択します。
次に、表示された
メニューから タブを選択し、 ボタンをクリックします。「システム環境変数」で、 を選択し、次に ボタンをクリックします。 のダイアログが表示されます。
-
「変数値」と示されたスペースに表示されたテキストの最後にカーソルを持って行きます。(「End」キーを使用して、カーソルが確実にそのスペースのテキストのいちばん後ろにあるようにします)。次に、MySQL
bin
ディレクトリの完全なパス名を入力します (C:\Program Files\MySQL\MySQL Server 5.6\bin
など)。このフィールドにあるほかの値とこのパスを区切るために、セミコロンが必要です。開いているダイアログがすべて閉じるまで、 をクリックしてこのダイアログとその他のダイアログを順番に閉じます。この段階で、システムのどのディレクトリからでも、DOS プロンプトにパスを指定せずに MySQL の実行プログラム名を入力して、すべての MySQL 実行プログラムを呼び出すことができます。これにはサーバー、mysql クライアント、および mysqladmin と mysqldump などのすべての MySQL コマンド行ユーティリティーが含まれています。同じマシンで複数の MySQL サーバーを動作させている場合には、MySQL
bin
ディレクトリを WindowsPATH
に追加しないでください。
システムの PATH
を手動で編集する際には最大限の注意が必要です。既存の PATH
の値の一部でも間違って削除したり変更したりすると、誤動作を引き起こしたりシステムが使用できなくなったりする場合があります。
サービスをインストールする際に、次の追加引数を使用できます。
--install
オプションの直後にサービス名を指定できます。デフォルトのサービス名はMySQL
です。-
サービス名を指定すると、そのあとに 1 つのオプションを指定できます。規則では、
--defaults-file=
でオプションファイル名を指定し、サーバーが起動時にそこからオプションを読み取ります。file_name
--defaults-file
以外に 1 つのオプションを使用することは可能ですが、お勧めできません。--defaults-file
を使用すると、指名したオプションファイルに複数のスタートアップオプションを指定できるので、より柔軟です。 サービス名のあとに
--local-service
オプションも指定できます。これにより、システム権限の制限付きLocalService
Windows アカウントを使用してサーバーを起動できます。このアカウントは Windows XP またはそれ以降でのみ利用できます。--defaults-file
および--local-service
の両方がサービス名のあとに指定される場合、どのような順序でもかまいません。
MySQL Server を Windows のサービスとしてインストールした場合、サーバーが使用するサービス名およびオプションファイルは次のルールで決められます。
サービスインストールのコマンドで、
--install
オプションのあとにサービス名を指名しないかデフォルトのサービス名 (MySQL
) を指定した場合、サーバーはMySQL
のサービス名を使用し、標準のオプションファイルの[mysqld]
グループのオプションを読み取ります。サービスインストールのコマンドで
MySQL
以外のサービス名を--install
オプションのあとに指定した場合、サーバーはそのサービス名を使用します。標準のオプションファイルの[mysqld]
グループと、サービスと名前が同じグループからオプションを読み取ります。これにより、[mysqld]
グループをすべての MySQL サービスで使用すべきオプション用に、サービス名の付いたオプショングループをそのサービス名でインストールされたサーバー用に使用できます。サービスインストールのコマンドでサービス名のあとに
--defaults-file
オプションを指定した場合、サーバーは前の項目で説明したのと同じ方法でオプションを読み取りますが、名前付きのファイルからのみオプションを読み取り、標準のオプションファイルは無視します。
さらに複雑な例として、次のコマンドがあります。
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld"
--install MySQL --defaults-file=C:\my-opts.cnf
ここでは、--install
オプションのあとにデフォルトのサービス名 (MySQL
) が指定されています。--defaults-file
オプションが指定されていなければ、このコマンドによりサーバーは標準のオプションファイルから [mysqld]
グループを読み取ります。しかし、--defaults-file
オプションが指定されているので、サーバーは [mysqld]
オプショングループのオプションを、指名されたファイルのみから読み取ります。
Windows では、サーバーが --defaults-file
および --install
オプションで起動される場合、--install
が最初でなければなりません。そうでないと、mysqld.exe
は MySQL Server を起動しようとします。
MySQL サービスを実行する前に、Windows の Services ユーティリティーで Start パラメータとしてオプションを指定することもできます。
サービスの開始
MySQL サーバーをサービスとしてインストールすると、Windows が起動されるたびにサービスが自動的に起動されます。サービスは、Services ユーティリティーから、あるいは NET START MySQL コマンドを使用してすぐに実行することもできます。NET コマンドは大文字と小文字を区別しません。
サービスとして起動する場合、mysqld はコンソールウィンドウにアクセスできないので、メッセージは表示されません。mysqld が起動しない場合、サーバーがエラーログにその問題の原因を知らせるメッセージを書き込んでいないか確認します。エラーログは MySQL データディレクトリ (C:\Program Files\MySQL\MySQL Server 5.6\data
など) にあります。.err
のサフィクスが付いたファイルです。
MySQL Server をサービスとしてインストールした場合、サービスを実行しているときに Windows がシャットダウンすると Windows が自動的にサービスを停止します。サーバーは、Services
ユーティリティー、NET STOP MySQL コマンド、あるいは mysqladmin shutdown コマンドを使用して手動で停止することもできます。
サービスがブートプロセスで自動的に実行されないように、サーバーをマニュアルサービスとしてインストールすることもできます。これには --install
オプションではなく --install-manual
オプションを使用します。
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --install-manual
サービスの削除
サービスとしてインストールしたサーバーを削除するには、起動中の場合にはまず NET STOP MySQL を実行して停止します。次に --remove
オプションを使用して削除します。
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --remove
mysqld をサービスとして実行していない場合は、コマンド行で起動できます。その手順は、セクション2.3.5.5「Windows のコマンド行からの MySQL の起動」 を参照してください。
インストール中に問題が生じた場合は、セクション2.3.6「Microsoft Windows MySQL Server インストールのトラブルシューティング」 を参照してください。