Windows NT ベースのシステムでは、MySQL サーバを Windows サービスとして実行できます。単一の MySQL サービスのインストール、制御、および削除の手順については、項2.1.1.7. 「Windows NT、2000、または XP での MySQL の起動」 を参照してください。
MySQL 4.0.2 より、複数のサーバをサービスとしてインストールできるようになっています。 その場合、各サーバが異なるサービス名を使用することが必要です。また、サーバごとに一意であることが必要なその他のパラメータにも注意が必要です。
以下の手順は、C:\mysql-4.0.8
および C:\mysql-4.0.17
にインストールされた 2 つの異なる MySQL
バージョンから mysqld-nt
サーバを実行する場合を想定しています(たとえば、本稼働サーバとして
4.0.8
を実行しているときに、アップグレード前に
4.0.17 をテストする場合など)。
--install
オプションで MySQL
サービスをインストールする場合、以下の原則が当てはまります。
サービス名を指定しないと、サーバは
MySQL
のデフォルトサービス名を使用し、標準オプション設定ファイルの
[mysqld]
グループからオプションを読み取る。
--install
オプションの後でサービス名を指定すると、サーバは
[mysqld]
オプショングループを無視し、サービスと同じ名前のグループからオプションを読み取る。サーバは、標準オプション設定ファイルからオプションを読み取る。
サービス名の後に --defaults-file
オプションを指定すると、サーバは標準オプション設定ファイルを無視し、指定ファイルの
[mysqld]
グループからのみオプションを読み取る。
これらの原則は、--install-manual
オプションを使用してサーバをインストールした場合にも当てはまります。
以上の情報に基づいて、複数のサービスをセットアップする方法はいくつかあります。 次に、いくつかの例を示します。いずれを試す場合でも、最初に既存の MySQL サービスをシャットダウンして削除しておくことが必要です。
標準オプション設定ファイルの 1
つで、すべてのサービスにオプションを指定する。
これを行う場合は、各サーバに異なる名前を使用する。
たとえば、4.0.8 mysqld-nt
を
mysqld1
のサービス名で実行し、4.0.17
mysqld-nt
を
mysqld2
のサービス名で実行する場合、 4.0.8 には
[mysqld1]
グループを、4.0.17
には [mysqld2]
グループを使用できる。
たとえば、以下のように
C:\my.cnf
をセットアップできる。
# options for mysqld1 service [mysqld1] basedir = C:/mysql-4.0.8 port = 3307 enable-named-pipe socket = mypipe1 # options for mysqld2 service [mysqld2] basedir = C:/mysql-4.0.17 port = 3308 enable-named-pipe socket = mypipe2
Windows が各サービス用の正しい実行可能プログラムを登録できるように、サーバのフルパス名を指定して、以下のようにサービスをインストールする。
shell>C:\mysql-4.0.8\bin\mysqld-nt --install mysqld1
shell>C:\mysql-4.0.17\bin\mysqld-nt --install mysqld2
サービスを開始するには、サービスマネージャを使用するか、適切なサービス名で
NET START
を使用する。
shell>NET START mysqld1
shell>NET START mysqld2
サービスを停止するには、サービスマネージャを使用するか、適切なサービス名で
NET STOP
を使用する。
shell>NET STOP mysqld1
shell>NET STOP mysqld2
注意: MySQL 4.0.17
より前のバージョンでは、デフォルトサービス名(MySQL
)を使用してインストールされたサーバか、mysqld
のサービス名で明示的にインストールされたサーバだけが、標準オプション設定ファイルの
[mysqld]
グループを読み取ります。4.0.17
以降では、他のサービス名を使用してインストールされたサーバでも、標準オプション設定ファイルを読み取るサーバであればすべて、[mysqld]
グループを読み取ります。これにより、すべての
MySQL サービスに適用するオプション用に
[mysqld]
グループを使用し、各サービスの名前が付けられたオプショングループを、そのサービス名でインストールされたサーバ用に使用できます。
個別のファイルで各サーバにオプションを指定し、サービスのインストール時に
--defaults-file
を使用して、各サーバにどのファイルを使用するか指定する。このとき、各ファイルに
[mysqld]
グループを使用してオプションをリストアップすることが必要。
この方法で 4.0.8 mysqld-nt
のオプションを指定するには、以下のような
C:\my-opts1.cnf
ファイルを作成する。
[mysqld] basedir = C:/mysql-4.0.8 port = 3307 enable-named-pipe socket = mypipe1
4.0.17 mysqld-nt
に対しては、以下のような
C:\my-opts2.cnf
ファイルを作成する。
[mysqld] basedir = C:/mysql-4.0.17 port = 3308 enable-named-pipe socket = mypipe2
以下のようにサービスをインストールする(各コマンドは 1 行で入力)。
shell>C:\mysql-4.0.8\bin\mysqld-nt --install mysqld1
--defaults-file=C:\my-opts1.cnf shell>C:\mysql-4.0.17\bin\mysqld-nt --install mysqld2
--defaults-file=C:\my-opts2.cnf
MySQL
サーバをサービスとしてインストールする際に
--defaults-file
オプションを使用するには、オプションの前にサービス名を付ける必要がある。
サービスのインストール後、起動と停止は前の例と同じように行う。
複数のサービスを削除するには、mysqld
--remove
を使用して 1
つずつ削除します。削除するサービスがデフォルト名でない場合は、--remove
オプションの後にサービス名を指定します。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.