Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  プログラム変数の設定へのオプションの使用

4.2.8 プログラム変数の設定へのオプションの使用

多くの MySQL プログラムには内部変数があり、実行時に SET ステートメントを使用して設定できます。セクション13.7.4「SET 構文」およびセクション5.1.5「システム変数の使用」を参照してください。

これらのプログラム変数のほとんどは、プログラムオプションの指定に適用されるのと同じ構文を使用して、サーバーの起動時にも設定できます。たとえば、mysql には通信バッファーの最大サイズを制御する max_allowed_packet 変数があります。mysql に対して max_allowed_packet 変数を 16M バイトの値にセットするには、次のコマンドのいずれかを使用してください。

shell> mysql --max_allowed_packet=16777216
shell> mysql --max_allowed_packet=16M

最初のコマンドは値をバイトで指定します。2 番目は値を M バイトで指定します。数値を取る変数については、1024、10242 または 10243 の乗数を示すために、KM または G (大文字または小文字) のサフィクスで値を指定できます。(たとえば、max_allowed_packet を設定するために使用される場合、サフィクスは K バイト、M バイトまたは G バイトの単位を示します。)

オプションファイルでは、変数の設定は先頭のダッシュなしで指定されます。

[mysql]
max_allowed_packet=16777216

または:

[mysql]
max_allowed_packet=16M

お好みで、変数名内の下線をダッシュとして指定できます。次のオプショングループは同等です。どちらもサーバーのキーバッファーを 512M バイトに設定します。

[mysqld]
key_buffer_size=512M

[mysqld]
key-buffer-size=512M

変数は、すべて記述するか、またはあいまいでないプリフィクスとして指定できます。たとえば、max_allowed_packet 変数は mysql に対して --max_a として設定できますが、--max としては指定できません。後者はあいまいなためです。

shell> mysql --max=1000000
mysql: ambiguous option '--max=1000000' (max_allowed_packet, max_join_size)

変数のプリフィクスを使用すると、プログラムに対して新しい変数が実装された場合に問題となることがあることに注意してください。現在あいまいでないプリフィクスが、将来あいまいになる可能性があります。

値乗数を指定するサフィクスは、サーバーの起動時に変数を設定するときに使用できますが、実行時に SET で値を設定するためには使用できません。一方、SET を使用すると、式を使用して変数の値を割り当てることができますが、サーバーの起動時に変数を設定するときには使用できません。たとえば、サーバーの起動時に次の 1 行目は有効ですが 2 行目は無効です。

shell> mysql --max_allowed_packet=16M
shell> mysql --max_allowed_packet=16*1024*1024

逆に、実行時に次の 2 行目は有効ですが 1 行目は無効です。

mysql> SET GLOBAL max_allowed_packet=16M;
mysql> SET GLOBAL max_allowed_packet=16*1024*1024;