単一の MySQL Server をコマンド行から手動で起動するための手順はセクション2.3.4.6「Windows のコマンド行からの MySQL の起動」に記載されています。 複数のサーバーをこの方法で起動する場合、コマンド行またはオプションファイルで適切なオプションを指定することができます。 オプションをオプションファイルに配置する方が便利ですが、各サーバーが確実にそれ独自のオプションのセットを取得するようにすることが必要です。 これを行うには、サーバーごとにオプションファイルを作成し、サーバーを実行するときに --defaults-file
オプションを使用してファイル名をサーバーに指示します。
C:\mydata1
のデータディレクトリを使用してポート 3307 で mysqld のインスタンスを実行し、C:\mydata2
のデータディレクトリを使用してポート 3308 で別のインスタンスを実行するとします。 次の手順を使用します。
各データディレクトリが存在し、付与テーブルを格納する
mysql
データベースの独自のコピーも含まれていることを確認します。-
2 つのオプションファイルを作成します。 たとえば、次のような
C:\my-opts1.cnf
という名前のファイルを作成します。[mysqld] datadir = C:/mydata1 port = 3307
そして、次のような
C:\my-opts2.cnf
という名前の 2 番目のファイルを作成します。[mysqld] datadir = C:/mydata2 port = 3308
-
--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
システム変数を設定して各サーバーに一意の共有メモリー名を指定します。