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


5.8.2.1 Windows コマンド行での複数の MySQL インスタンスの起動

単一の MySQL Server をコマンド行から手動で起動するための手順はセクション2.3.4.6「Windows のコマンド行からの MySQL の起動」に記載されています。 複数のサーバーをこの方法で起動する場合、コマンド行またはオプションファイルで適切なオプションを指定することができます。 オプションをオプションファイルに配置する方が便利ですが、各サーバーが確実にそれ独自のオプションのセットを取得するようにすることが必要です。 これを行うには、サーバーごとにオプションファイルを作成し、サーバーを実行するときに --defaults-file オプションを使用してファイル名をサーバーに指示します。

C:\mydata1 のデータディレクトリを使用してポート 3307 で mysqld のインスタンスを実行し、C:\mydata2 のデータディレクトリを使用してポート 3308 で別のインスタンスを実行するとします。 次の手順を使用します。

  1. 各データディレクトリが存在し、付与テーブルを格納する mysql データベースの独自のコピーも含まれていることを確認します。

  2. 2 つのオプションファイルを作成します。 たとえば、次のような C:\my-opts1.cnf という名前のファイルを作成します。

    [mysqld]
    datadir = C:/mydata1
    port = 3307

    そして、次のような C:\my-opts2.cnf という名前の 2 番目のファイルを作成します。

    [mysqld]
    datadir = C:/mydata2
    port = 3308
  3. --defaults-file オプションを使用して、サーバー独自のオプションファイルを使用して各サーバーを起動します。

    C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts1.cnf
    C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts2.cnf

    各サーバーはフォアグラウンドで起動するため (サーバーが後で終了するまで新しいプロンプトは表示されません)、これら 2 つのコマンドを別々のコンソールウィンドウで発行する必要があります。

サーバーをシャットダウンするには、適切なポート番号を使用して各サーバーに接続します。

C:\> C:\mysql\bin\mysqladmin --port=3307 --host=127.0.0.1 --user=root --password shutdown
C:\> C:\mysql\bin\mysqladmin --port=3308 --host=127.0.0.1 --user=root --password shutdown

上述のように構成されたサーバーは、クライアントが TCP/IP 経由で接続することを許可します。 Windows のバージョンで名前付きパイプがサポートされていて、名前付きパイプ接続も許可する場合は、名前付きパイプを有効にするオプションを指定し、その名前を指定します。 名前付きパイプ接続をサポートする各サーバーは、一意のパイプ名を使用する必要があります。 たとえば、C:\my-opts1.cnf ファイルは次のように修正されることがあります。

[mysqld]
datadir = C:/mydata1
port = 3307
enable-named-pipe
socket = mypipe1

2 番目のサーバーで使用する C:\my-opts2.cnf も同様に修正します。 そのあと、前に説明したようにサーバーを起動します。

共有メモリー接続を許可するサーバーについても同様の手順が適用されます。 このような接続を有効にするには、shared_memory システム変数を有効にしてサーバーを起動し、shared_memory_base_name システム変数を設定して各サーバーに一意の共有メモリー名を指定します。


関連キーワード:  サーバー, 変数, 接続, 複数, インスタンス, 起動, インストール, データ, 名前, 作成