このページは機械翻訳したものです。
variables_info テーブルには、システム変数ごとに、最後に設定されたソースとその値の範囲が表示されます。
variables_info テーブルには、次のカラムがあります:
-
VARIABLE_NAME変数名。
-
VARIABLE_SOURCE変数が最後に設定されたソース:
-
COMMAND_LINEコマンドラインで変数が設定されました。
-
COMPILED変数には、コンパイルされたデフォルト値があります。
COMPILEDは、他の方法で設定されない変数に使用される値です。 -
DYNAMIC変数は実行時に設定されました。 これには、
init_fileシステム変数を使用して指定されたファイル内に設定された変数が含まれます。 -
EXPLICIT変数は、
--defaults-fileオプションで指定されたオプションファイルから設定されました。 -
EXTRA変数は、
--defaults-extra-fileオプションで指定されたオプションファイルから設定されました。 -
GLOBAL変数がグローバルオプションファイルから設定されました。 これには、
EXPLICIT,EXTRA,LOGIN,PERSISTED,SERVERまたはUSERでカバーされないオプションファイルが含まれます。 -
LOGIN変数は、ユーザー固有のログインパスファイル (
~/.mylogin.cnf) から設定されました。 -
PERSISTED変数がサーバー固有の
mysqld-auto.cnfオプションファイルから設定されました。persisted_globals_loadを無効にしてサーバーを起動した場合、この値は行に含まれません。 -
SERVER変数がサーバー固有の
オプションファイルから設定されました。$MYSQL_HOME/my.cnfMYSQL_HOMEの設定方法の詳細は、セクション4.2.2.2「オプションファイルの使用」 を参照してください。 -
USER変数がユーザー固有の
~/.my.cnfオプションファイルから設定されました。
-
-
VARIABLE_PATH変数がオプションファイルから設定された場合、
VARIABLE_PATHはそのファイルのパス名です。 それ以外の場合、値は空の文字列です。 -
MIN_VALUE,MAX_VALUE変数に許可される最小値と最大値。 両方とも、そのような値を持たない変数 (つまり、数値ではない変数) の場合は 0 です。
-
SET_TIME変数が最後に設定された時刻。 デフォルトは、起動時にサーバーがグローバルシステム変数を初期化した時刻です。
-
SET_USER,SET_HOST変数を最後に設定したクライアントユーザーのユーザー名とホスト名。 クライアントが
'user17'@'%.example.comアカウントを使用してホストhost34.example.comからuser17として接続する場合、SET_USERおよびSET_HOSTはそれぞれuser17およびhost34.example.comです。 プロキシユーザー接続の場合、これらの値は権限チェックが実行されるプロキシユーザーではなく、外部 (プロキシ) ユーザーに対応します。 各カラムのデフォルトは空の文字列で、サーバーの起動後に変数が設定されていないことを示します。
variables_info テーブルには次のインデックスがあります:
なし
TRUNCATE TABLE は、variables_info テーブルに対して許可されていません。
DYNAMIC 以外の VARIABLE_SOURCE 値を持つ変数が実行時に設定された場合、VARIABLE_SOURCE は DYNAMIC になり、VARIABLE_PATH は空の文字列になります。
セッション値のみを持つシステム変数 (debug_sync など) は、起動時または永続化時に設定できません。 セッション専用システム変数の場合、VARIABLE_SOURCE には COMPILED または DYNAMIC のみを指定できます。
システム変数に予期しない VARIABLE_SOURCE 値が含まれている場合は、サーバーの起動方法を検討してください。 たとえば、mysqld_safe はオプションファイルを読み取り、mysqld の起動に使用するコマンドラインの一部として検出された特定のオプションを渡します。 したがって、オプションファイルに設定した一部のシステム変数は、予想されるとおりに GLOBAL または SERVER としてではなく、COMMAND_LINE として variables_info に表示される場合があります。
variables_info テーブルを使用するいくつかのサンプルクエリーでは、次のように出力されます:
-
コマンドラインで設定された変数を表示します:
mysql> SELECT VARIABLE_NAME FROM performance_schema.variables_info WHERE VARIABLE_SOURCE = 'COMMAND_LINE' ORDER BY VARIABLE_NAME; +---------------+ | VARIABLE_NAME | +---------------+ | basedir | | datadir | | log_error | | pid_file | | plugin_dir | | port | +---------------+ -
永続ストレージから設定された変数を表示します:
mysql> SELECT VARIABLE_NAME FROM performance_schema.variables_info WHERE VARIABLE_SOURCE = 'PERSISTED' ORDER BY VARIABLE_NAME; +--------------------------+ | VARIABLE_NAME | +--------------------------+ | event_scheduler | | max_connections | | validate_password.policy | +--------------------------+ -
variables_infoをglobal_variablesテーブルと結合して、永続変数の現在の値とその値の範囲を表示します:mysql> SELECT VI.VARIABLE_NAME, GV.VARIABLE_VALUE, VI.MIN_VALUE,VI.MAX_VALUE FROM performance_schema.variables_info AS VI INNER JOIN performance_schema.global_variables AS GV USING(VARIABLE_NAME) WHERE VI.VARIABLE_SOURCE = 'PERSISTED' ORDER BY VARIABLE_NAME; +--------------------------+----------------+-----------+-----------+ | VARIABLE_NAME | VARIABLE_VALUE | MIN_VALUE | MAX_VALUE | +--------------------------+----------------+-----------+-----------+ | event_scheduler | ON | 0 | 0 | | max_connections | 200 | 1 | 100000 | | validate_password.policy | STRONG | 0 | 0 | +--------------------------+----------------+-----------+-----------+