MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

4.3.4 mysqld_multi — 複数の MySQL サーバーの管理

mysqld_multi は、Unix ソケットファイルや TCP/IP ポートでの接続を待機する複数の mysqld プロセスを管理するためのものです。 サーバーの起動または停止、現在のステータスのレポートを実行できます。

注記

一部の Linux プラットフォームでは、RPM または Debian パッケージからの MySQL インストールに、MySQL サーバーの起動と停止を管理するための systemd サポートが含まれています。 これらのプラットフォームでは、mysqld_multi は不要であるためインストールされません。 systemd を使用した複数の MySQL インスタンスの処理の詳細は、セクション2.5.9「systemd を使用した MySQL Server の管理」 を参照してください。

mysqld_multi[mysqldN] という名前のグループを my.cnf (または --defaults-file オプションで指定されたファイル) から検索します。 N は任意の正の整数です。 この数字は、次の説明ではオプショングループ番号、または GNR といいます。 グループ番号は、それぞれのオプショングループを識別し、起動、停止、またはステータスレポート取得の対象となるサーバーを指定するために、mysqld_multi の引数として使用されます。 これらのグループにリストされるオプションは、mysqld を起動するために [mysqld] グループで使用するものと同じです。 (たとえばセクション2.10.5「MySQL を自動的に起動および停止する」などを参照してください。) ただし、複数のサーバーを使用する場合は、Unix ソケットファイルや TCP/IP ポート番号などに関してそれぞれが独自のオプション値を使用する必要があります。 複数サーバーの環境で、どのオプションを一意とする必要があるのかについては、セクション5.8「1 つのマシン上での複数の MySQL インスタンスの実行」を参照してください。

mysqld_multi を呼び出すには、次の構文を使用します。

shell> mysqld_multi [options] {start|stop|reload|report} [GNR[,GNR] ...]

start, stop, reload (停止して再起動) および report は、実行する操作を示します。 オプション名に続く GNR リストに従って、指定した操作を単一のサーバーまたは複数のサーバーで実行できます。 リストがない場合は、mysqld_multi はオプションファイル内のすべてのサーバーに対して操作を実行します。

GNR 値は、オプショングループ番号またはグループ番号の範囲を表します。 値は、オプションファイル内のグループ名の最後の数字とします。 たとえば、[mysqld17] という名前のグループの GNR17 です。 番号の範囲を指定するには、最初と最後の番号をダッシュで区切ります。 GNR10-13 は、[mysqld10] から [mysqld13] のグループを表します。 コマンド行で、複数のグループまたはグループの範囲を、カンマで区切って指定できます。 GNR リストには空白文字 (スペースまたはタブ) を使用してはいけません。空白文字からあとにあるものはすべて無視されます。

次のコマンドは [mysqld17] というオプショングループを使用して単一のサーバーを起動します。

shell> mysqld_multi start 17

次のコマンドは、[mysqld8] および [mysqld10] から [mysqld13] までのオプショングループを使用して複数のサーバーを停止します。

shell> mysqld_multi stop 8,10-13

オプションファイルをセットアップする方法の例として、次のコマンドを使用します。

shell> mysqld_multi --example

mysqld_multi は次のようにオプションファイルを検索します。

これらのオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。

読み取られるオプションファイルでは、[mysqld_multi] および [mysqldN] オプショングループが検索されます。 [mysqld_multi] グループは、mysqld_multi 自身へのオプションに使用できます。[mysqldN] グループは、mysqld の特定のインスタンスに渡されるオプションに使用できます。

[mysqld] グループまたは [mysqld_safe] グループは、mysqld または mysqld_safe のすべてのインスタンスによって読み取られる共通オプションに使用できます。 --defaults-file=file_name オプションを指定して、そのインスタンスに別の構成ファイルを使用できます。この場合、そのファイルの[mysqld]または[mysqld_safe]グループがそのインスタンスに使用されます。

mysqld_multi は次のオプションをサポートします。

mysqld_multi に関する注意:

次の例は、mysqld_multi とともに使用するオプションファイルの設定方法を示します。 mysqld プログラムが起動または終了する順序は、オプションファイルで指定する順序によります。 グループ番号は、切れ目のないシーケンスの形式にする必要はありません。 例では、最初と 5 番目の [mysqldN] グループは意図的に省略しています。これは、オプションファイルでギャップがあっても構わないことを示しています。 これにより、柔軟性が高まります。

# This is an example of a my.cnf file for mysqld_multi.
# Usually this file is located in home dir ~/.my.cnf or /etc/my.cnf

[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user       = multi_admin
password   = my_password

[mysqld2]
socket     = /tmp/mysql.sock2
port       = 3307
pid-file   = /usr/local/mysql/data2/hostname.pid2
datadir    = /usr/local/mysql/data2
language   = /usr/local/mysql/share/mysql/english
user       = unix_user1

[mysqld3]
mysqld     = /path/to/mysqld_safe
ledir      = /path/to/mysqld-binary/
mysqladmin = /path/to/mysqladmin
socket     = /tmp/mysql.sock3
port       = 3308
pid-file   = /usr/local/mysql/data3/hostname.pid3
datadir    = /usr/local/mysql/data3
language   = /usr/local/mysql/share/mysql/swedish
user       = unix_user2

[mysqld4]
socket     = /tmp/mysql.sock4
port       = 3309
pid-file   = /usr/local/mysql/data4/hostname.pid4
datadir    = /usr/local/mysql/data4
language   = /usr/local/mysql/share/mysql/estonia
user       = unix_user3

[mysqld6]
socket     = /tmp/mysql.sock6
port       = 3311
pid-file   = /usr/local/mysql/data6/hostname.pid6
datadir    = /usr/local/mysql/data6
language   = /usr/local/mysql/share/mysql/japanese
user       = unix_user4

セクション4.2.2.2「オプションファイルの使用」を参照してください。