MySQL 8.0 リファレンスマニュアル


5.8.2.2 Windows サービスとして複数の MySQL インスタンスの起動

Windows 上では、MySQL Server は Windows サービスとして実行することができます。 単一の MySQL サービスをインストール、制御、および削除する手順は、セクション2.3.4.8「Windows のサービスとして MySQL を起動する」に記載されています。

複数の MySQL サービスをセットアップするには、各インスタンスが、インスタンスごとに一意でなければならないほかのパラメータを使用することに加えて、異なるサービス名を使用するようにする必要があります。

次の手順について、mysqld サーバーを、C:\mysql-5.5.9 および C:\mysql-8.0.29 にそれぞれインストールされている 2 つの異なるバージョンの MySQL から実行するとします。 (5.5.9 を本番サーバーとして実行しているが、8.0.29 を使用したテストも実行したい場合、このような状況になることがあります。)

MySQL を Windows サービスとしてインストールするには、--install または --install-manual オプションを使用します。 これらのオプションについては、セクション2.3.4.8「Windows のサービスとして MySQL を起動する」を参照してください。

前述の説明によれば、複数のサービスをセットアップするにはいくつかの方法があります。 次の手順では、いくつかの例を説明します。 これらのいずれかを試行する前に、既存の MySQL サービスがあればシャットダウンして削除してください。

  • 方法 1: いずれかの標準オプションファイル内ですべてのサービスのオプションを指定します。 これを行うには、サーバーごとに異なるサービス名を使用します。 5.5.9 mysqld をサービス名 mysqld1 で実行し、8.0.29 mysqld をサービス名 mysqld2 で実行するとします。 この場合、[mysqld1] グループを 5.5.9 に対して使用し、[mysqld2] グループを 8.0.29 に対して使用することができます。 たとえば、C:\my.cnf を次のようにセットアップすることができます。

    # options for mysqld1 service
    [mysqld1]
    basedir = C:/mysql-5.5.9
    port = 3307
    enable-named-pipe
    socket = mypipe1
    
    # options for mysqld2 service
    [mysqld2]
    basedir = C:/mysql-8.0.29
    port = 3308
    enable-named-pipe
    socket = mypipe2

    各サービスに対して Windows が正しい実行可能プログラムを登録するようにするために、完全なサーバーパス名を使用して、サービスを次のようにインストールします。

    C:\> C:\mysql-5.5.9\bin\mysqld --install mysqld1
    C:\> C:\mysql-8.0.29\bin\mysqld --install mysqld2

    サービスを開始するには、サービスマネージャ、NET START または SC START を適切なサービス名とともに使用します:

    C:\> SC START mysqld1
    C:\> SC START mysqld2

    サービスを停止するには、サービスマネージャを使用するか、適切なサービス名を指定して NET STOP または SC STOP を使用します:

    C:\> SC STOP mysqld1
    C:\> SC STOP mysqld2
  • 方法 2: 各サーバーのオプションを別々のファイルに指定し、サービスをインストールするときに --defaults-file を使用して、使用するファイルを各サーバーに指示します。 この場合、それぞれのファイルで [mysqld] グループを使用してオプションをリストするようにします。

    この方法を使用する場合、5.5.9 mysqld のオプションを指定するには、次のようなファイル C:\my-opts1.cnf を作成します。

    [mysqld]
    basedir = C:/mysql-5.5.9
    port = 3307
    enable-named-pipe
    socket = mypipe1

    8.0.29 mysqld については、次のようなファイル C:\my-opts2.cnf を作成します。

    [mysqld]
    basedir = C:/mysql-8.0.29
    port = 3308
    enable-named-pipe
    socket = mypipe2

    次のようにしてサービスをインストールします (各コマンドを単一行に入力します)。

    C:\> C:\mysql-5.5.9\bin\mysqld --install mysqld1
               --defaults-file=C:\my-opts1.cnf
    C:\> C:\mysql-8.0.29\bin\mysqld --install mysqld2
               --defaults-file=C:\my-opts2.cnf

    MySQL Server をサービスとしてインストールし、--defaults-file オプションを使用する場合、サービス名がオプションより前になければなりません。

    サービスをインストールしたあと、前の例と同じ方法でサービスを起動および停止します。

複数のサービスを削除するには、それぞれに SC DELETE mysqld_service_name を使用します。 または、--remove オプションの後にサービス名を指定して、それぞれに mysqld --remove を使用します。 サービス名がデフォルト (MySQL) の場合は、mysqld --remove の使用時に省略できます。


関連キーワード:  サービス, サーバー, インストール, mysqld, 変数, 複数, 実行, インスタンス, Server, 形式