• SERVER 

The variable was set from a server-specific $MYSQL_HOME/my.cnf  option file. For details about how MYSQL_HOME  is set, see Section 4.2.2.2, “Using Option Files” . 

• USER 

The variable was set from a user-specific ~/.my.cnf  option file. 

• VARIABLE_PATH 

If the variable was set from an option file, VARIABLE_PATH  is the path name of that file. Otherwise, the value is the empty string. 

• MIN_VALUE , MAX_VALUE 

The minimum and maximum permitted values for the variable. Both are 0 for variables that have no such values (that is, variables that are not numeric). 

• SET_TIME 

The time at which the variable was most recently set. The default is the time at which the server initialized global system variables during startup. 

• SET_USER , SET_HOST 

The user name and host name of the client user that most recently set the variable. If a client connects as user17  from host host34.example.com  using the account ’user17’@’%.example.com , SET_USER  and SET_HOST  are user17  and host34.example.com , respectively. For proxy user connections, these values correspond to the external (proxy) user, not the proxied user against which privilege checking is performed. The default for each column is the empty string, indicating that the variable has not been set since server startup. 

The variables_info  table has no indexes. 

TRUNCATE TABLE  is not permitted for the variables_info  table. 

If a variable with a VARIABLE_SOURCE  value other than DYNAMIC  is set at runtime, VARIABLE_SOURCE becomes DYNAMIC  and VARIABLE_PATH  becomes the empty string. 

A system variable that has only a session value (such as debug_sync ) cannot be set at startup or persisted. For session-only system variables, VARIABLE_SOURCE  can be only COMPILED  or DYNAMIC . 

If a system variable has an unexpected VARIABLE_SOURCE  value, consider your server startup method. For example, mysqld_safe  reads option files and passes certain options it finds there as part of the command line that it uses to start mysqld . Consequently, some system variables that you set in option files might display in variables_info  as COMMAND_LINE , rather than as GLOBAL  or SERVER  as you might otherwise expect. 

Some sample queries that use the variables_info  table, with representive output: 

•Display variables set on the command line: 

mysql> SELECT VARIABLE_NAME FROM performance_schema.variables_info WHERE VARIABLE_SOURCE = ’COMMAND_LINE’ ORDER BY VARIABLE_NAME; +---------------+ 

