このページは機械翻訳したものです。
Windows で MySQL を実行する場合、Windows の起動および停止時に MySQL が自動的に起動および停止するように、Windows サービスとしてインストールすることが推奨されています。 MySQL Server をサービスとしてインストールすると、NET コマンドを使用してコマンド行から、あるいはグラフィカル Services ユーティリティーで管理することもできます。 一般に、MySQL を Windows サービスとしてインストールするときは、管理者権限のあるアカウントを使ってログインするようにしてください。
Services ユーティリティ (Windows Service Control Manager) は、Windows コントロールパネルにあります。 競合を避けるために、サーバーのインストールまたはコマンド行からの削除操作の際には、Services ユーティリティーを閉じることを推奨します。
サービスのインストール
現在サーバーを実行中の場合は、MySQL を Windows のサービスとしてインストールする前に次のコマンドを使用して停止してください。
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin"
-u root shutdown
MySQL の root
ユーザーアカウントにパスワードが設定されている場合は、mysqladmin を -p
オプションを使って起動し、要求されたらパスワードを入力する必要があります。
このコマンドは MySQL 管理ユーティリティー mysqladmin を起動してサーバーに接続し、サーバーにシャットダウンを命令します。 そのコマンドは MySQL root
ユーザーとして接続します。これは MySQL の許可システムのデフォルトの管理アカウントです。
MySQL 権限付与システムのユーザーは、Windows のオペレーティングシステムユーザーから完全に独立しています。
サーバーをこのコマンドを使用してサービスとしてインストールします。
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --install
サービスのインストールコマンドはサーバーは起動しません。 それについてはこのセクションで後述します。
MySQL プログラムの起動を簡単にするために、MySQL の bin
ディレクトリのパス名を Windows システムの PATH
環境変数に追加できます。
Windows デスクトップで、「マイコンピュータ」 アイコンを右クリックして を選択します。
次に、表示された
メニューから タブを選択し、 ボタンをクリックします。「システム環境変数」で、 を選択し、次に ボタンをクリックします。 のダイアログが表示されます。
-
「変数値」と示されたスペースに表示されたテキストの最後にカーソルを持って行きます。 (「End」キーを使用して、カーソルが確実にそのスペースのテキストのいちばん後ろにあるようにします)。 次に、MySQL
bin
ディレクトリの完全なパス名を入力します (C:\Program Files\MySQL\MySQL Server 8.0\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 アカウントを使用してサーバーを起動できます。--defaults-file
および--local-service
の両方がサービス名のあとに指定される場合、どのような順序でもかまいません。
MySQL Server を Windows のサービスとしてインストールした場合、サーバーが使用するサービス名およびオプションファイルは次のルールで決められます。
service-installation コマンドで、
--install
オプションのあとにサービス名またはデフォルトのサービス名 (MySQL
) が指定されていない場合、サーバーはMySQL
のサービス名を使用し、標準オプションファイル内の[mysqld]
グループからオプションを読み取ります。サービスインストールのコマンドで
MySQL
以外のサービス名を--install
オプションのあとに指定した場合、サーバーはそのサービス名を使用します。 標準のオプションファイルの[mysqld]
グループと、サービスと名前が同じグループからオプションを読み取ります。 これにより、[mysqld]
グループをすべての MySQL サービスで使用すべきオプション用に、サービス名の付いたオプショングループをそのサービス名でインストールされたサーバー用に使用できます。サービスインストールのコマンドでサービス名のあとに
--defaults-file
オプションを指定した場合、サーバーは前の項目で説明したのと同じ方法でオプションを読み取りますが、名前付きのファイルからのみオプションを読み取り、標準のオプションファイルは無視します。
さらに複雑な例として、次のコマンドがあります。
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\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 サーバーを起動しようとします。
MySQL サービスを実行する前に、Windows の Services ユーティリティーで Start パラメータとしてオプションを指定することもできます。
最後に、MySQL サービスを開始する前に、サービスを実行するオペレーティングシステムユーザーのユーザー変数 %TEMP%
および %TMP%
(設定されている場合は %TMPDIR%
) が、ユーザーが書込みアクセス権を持つフォルダを指していることを確認します。 MySQL サービスを実行するためのデフォルトユーザーは LocalSystem
で、%TEMP%
および %TMP%
のデフォルト値は C:\Windows\Temp
で、LocalSystem
ディレクトリにはデフォルトで書込みアクセス権があります。 ただし、そのデフォルト設定に変更があった場合 (たとえば、サービスを実行するユーザーや前述のユーザー変数への変更、または --tmpdir
オプションを使用して一時ディレクトリを別の場所に配置した場合)、一時ディレクトリへの書込みアクセス権が適切なユーザーに付与されていないため、MySQL サービスの実行に失敗する可能性があります。
サービスの開始
MySQL サーバーインスタンスがサービスとしてインストールされると、Windows は常にサービスを自動的に起動します。 サービスは、Services ユーティリティからすぐに起動することも、sc start mysqld_service_name
または NET START mysqld_service_name
コマンドを使用して起動することもできます。 SC および NET コマンドでは、大/小文字は区別されません。
サービスとして起動する場合、mysqld はコンソールウィンドウにアクセスできないので、メッセージは表示されません。 mysqld が起動しない場合、サーバーがエラーログにその問題の原因を知らせるメッセージを書き込んでいないか確認します。 エラーログは MySQL データディレクトリ (C:\Program Files\MySQL\MySQL Server 8.0\data
など) にあります。 .err
のサフィクスが付いたファイルです。
MySQL Server をサービスとしてインストールした場合、サービスを実行しているときに Windows がシャットダウンすると Windows が自動的にサービスを停止します。 サーバーは、Services
ユーティリティ、sc stop mysqld_service_name
コマンド、NET START mysqld_service_name
コマンドまたは mysqladmin shutdown コマンドを使用して手動で停止することもできます。
サービスがブートプロセスで自動的に実行されないように、サーバーをマニュアルサービスとしてインストールすることもできます。 これには --install
オプションではなく --install-manual
オプションを使用します。
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --install-manual
サービスの削除
サービスとしてインストールされているサーバーを削除するには、まず SC STOP mysqld_service_name
または NET STOP mysqld_service_name
を実行して停止します (実行中の場合)。 次に、SC DELETE mysqld_service_name
を使用して削除します:
C:\> SC DELETE mysql
または、mysqld --remove
オプションを使用してサービスを削除します。
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --remove
mysqld をサービスとして実行していない場合は、コマンド行で起動できます。 その手順は、セクション2.3.4.6「Windows のコマンド行からの MySQL の起動」を参照してください。
インストール中に問題が発生した場合は、セクション2.3.5「Microsoft Windows MySQL Server インストールのトラブルシューティング」 を参照してください。
Windows サービスの停止または削除の詳細は、セクション5.8.2.2「Windows サービスとして複数の MySQL インスタンスの起動」 を参照してください。