オプション指定によるMySQLプログラム変数の設定方法
多くのMySQLプログラムは、実行時にSETステートメントを使って設定できる内部変数を持っています。実は、これらのプログラム変数の大部分は、サーバー起動時にも、プログラムオプションを指定する場合と同じ構文を使って設定することが可能です。
例1:max_allowed_packet変数の設定
mysqlクライアントには、通信バッファの最大サイズを制御するmax_allowed_packetという変数が用意されています。この変数を16MBに設定したい場合は、以下のいずれかのコマンドを実行します。
mysql --max_allowed_packet=16777216 (または) mysql --max_allowed_packet=16M
1つ目のコマンドでは値をバイト単位で指定しており、2つ目のコマンドではメガバイト(MB)単位で指定しています。数値型の変数に対しては、値に「K」「M」「G」というサフィックス(接尾辞)を付けることができ、それぞれ1024、1024の2乗、1024の3乗を乗算した値として解釈されます。
例2:オプションファイルでの変数設定
オプションファイル(my.cnfやmy.ini)内で変数を設定する場合は、先頭のダブルダッシュ(-- )を付けずに記述します。
[mysql] max_allowed_packet=16777216 (または) [mysql] max_allowed_packet=16M
また、必要に応じて、オプション名に含まれるアンダースコア(_)をダッシュ(-)で代用することもできます。つまり、以下の2つのオプショングループはどちらも同じ意味を持ちます。
いずれの記述方法でも、サーバーのキーバッファ(key buffer)のサイズが512MBに設定されます。
[mysqld] key_buffer_size=512M (または) [mysqld] key-buffer-size=512M
まとめ
このように、MySQLのプログラム変数はコマンドラインオプションとオプションファイルの両方から柔軟に設定できます。起動時にあらかじめ適切な値を設定しておくことで、運用中のパフォーマンスや安定性を向上させることができます。なお、実行中に動的に変更したい場合はSETステートメントを使用してください。
-
LinuxでMySQLの環境変数を設定する方法【シェル別の設定手順を解説】
はじめにLinuxでMySQLを快適に利用するには、環境変数の設定が欠かせません。本記事では、コマンドラインから一時的に環境変数を設定する方法と、シェルのスタートアップファイルを編集して恒久的に設定する方法について、シェル別に詳しく解説します。環境変数の設定方法の基本環境変数はコマンドプロンプトから直接設定できます。この方法では、現在実行中のコマンドプロセッサ(シェル)に対してのみ反映されます。一方、今後のセッションにも継続して反映させたい場合は、恒久的な設定を行う必要があります。環境変数を恒久的に設定するには、シェルのスタートアップファイルに記述するか、OSが提供する設定用のインターフェース
-
コマンドラインオプションを使ったMySQLサーバーへの接続方法
この記事では、mysql や mysqldump などのクライアントプログラムから、コマンドラインオプションを利用してMySQLサーバーに接続する方法を解説します。クライアントプログラムがMySQLサーバーに接続するには、適切な接続パラメータを指定する必要があります。具体的には、サーバーが稼働しているホスト名、MySQLアカウントのユーザー名、パスワードなどです。すべての接続パラメータにはデフォルト値が用意されていますが、必要に応じてコマンドラインやオプションファイルで指定したプログラムオプションによって上書きすることも可能です。mysqlをデフォルト設定で起動する接続パラメータを明示的に指定