This section lists environment variables that are used directly or indirectly by MySQL. Most of these can also be found in other places in this manual.
Options on the command line take precedence over values specified in option files and environment variables, and values in option files take precedence over values in environment variables. In many cases, it is preferable to use an option file instead of environment variables to modify the behavior of MySQL. See Section 6.2.2.2, “Using Option Files”.
| Variable | Description | 
|---|---|
| AUTHENTICATION_KERBEROS_CLIENT_LOG | Kerberos authentication logging level. | 
| AUTHENTICATION_LDAP_CLIENT_LOG | Client-side LDAP authentication logging level. | 
| AUTHENTICATION_PAM_LOG | PAM authentication plugin debug logging settings. | 
| CC | The name of your C compiler (for running CMake). | 
| CXX | The name of your C++ compiler (for running CMake). | 
| CC | The name of your C compiler (for running CMake). | 
| DBI_USER | The default user name for Perl DBI. | 
| DBI_TRACE | Trace options for Perl DBI. | 
| HOME | The default path for the mysql history file is $HOME/.mysql_history. | 
| LD_RUN_PATH | Used to specify the location of libmysqlclient.so. | 
| LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN | Enable mysql_clear_passwordauthentication plugin;
          see Section 8.4.1.3, “Client-Side Cleartext Pluggable Authentication”. | 
| LIBMYSQL_PLUGIN_DIR | Directory in which to look for client plugins. | 
| LIBMYSQL_PLUGINS | Client plugins to preload. | 
| MYSQL_DEBUG | Debug trace options when debugging. | 
| MYSQL_GROUP_SUFFIX | Option group suffix value (like specifying --defaults-group-suffix). | 
| MYSQL_HISTFILE | The path to the mysql history file. If this variable
          is set, its value overrides the default for $HOME/.mysql_history. | 
| MYSQL_HISTIGNORE | Patterns specifying statements that mysql should not
          log to $HOME/.mysql_history, orsyslogif--syslogis given. | 
| MYSQL_HOME | The path to the directory in which the server-specific my.cnffile resides. | 
| MYSQL_HOST | The default host name used by the mysql command-line client. | 
| MYSQL_PS1 | The command prompt to use in the mysql command-line client. | 
| MYSQL_PWD | The default password when connecting to mysqld. Using this is insecure. See note following table. | 
| MYSQL_TCP_PORT | The default TCP/IP port number. | 
| MYSQL_TEST_LOGIN_FILE | The name of the .mylogin.cnflogin path file. | 
| MYSQL_TEST_TRACE_CRASH | Whether the test protocol trace plugin crashes clients. See note following table. | 
| MYSQL_TEST_TRACE_DEBUG | Whether the test protocol trace plugin produces output. See note following table. | 
| MYSQL_UNIX_PORT | The default Unix socket file name; used for connections to localhost. | 
| MYSQLX_TCP_PORT | The X Plugin default TCP/IP port number. | 
| MYSQLX_UNIX_PORT | The X Plugin default Unix socket file name; used for connections to localhost. | 
| NOTIFY_SOCKET | Socket used by mysqld to communicate with systemd. | 
| PATH | Used by the shell to find MySQL programs. | 
| PKG_CONFIG_PATH | Location of mysqlclient.pcpkg-config file. See note following table. | 
| TMPDIR | The directory in which temporary files are created. | 
| TZ | This should be set to your local time zone. See Section B.3.3.7, “Time Zone Problems”. | 
| UMASK | The user-file creation mode when creating files. See note following table. | 
| UMASK_DIR | The user-directory creation mode when creating directories. See note following table. | 
| USER | The default user name on Windows when connecting to mysqld. | 
For information about the mysql history file, see Section 6.5.1.3, “mysql Client Logging”.
    Use of MYSQL_PWD to specify a MySQL password must
    be considered extremely insecure and should not
    be used. Some versions of ps include an option to
    display the environment of running processes. On some systems, if
    you set MYSQL_PWD, your password is exposed to
    any other user who runs ps. Even on systems
    without such a version of ps, it is unwise to
    assume that there are no other methods by which users can examine
    process environments.
  
    MYSQL_PWD is deprecated as of MySQL
    9.3; expect it to be removed in a future version of
    MySQL.
  
    MYSQL_TEST_LOGIN_FILE is the path name of the
    login path file (the file created by
    mysql_config_editor). If not set, the default
    value is %APPDATA%\MySQL\.mylogin.cnf directory
    on Windows and $HOME/.mylogin.cnf on
    non-Windows systems. See Section 6.6.7, “mysql_config_editor — MySQL Configuration Utility”.
  
    The MYSQL_TEST_TRACE_DEBUG and
    MYSQL_TEST_TRACE_CRASH variables control the test
    protocol trace client plugin, if MySQL is built with that plugin
    enabled. For more information, see
    Using the Test Protocol Trace Plugin.
  
    The default UMASK and
    UMASK_DIR values are 0640 and
    0750, respectively. MySQL assumes that the value
    for UMASK or UMASK_DIR is in
    octal if it starts with a zero. For example, setting
    UMASK=0600 is equivalent to
    UMASK=384 because 0600 octal is 384 decimal.
  
    The UMASK and UMASK_DIR
    variables, despite their names, are used as modes, not masks:
- If - UMASKis set, mysqld uses- ($UMASK | 0600)as the mode for file creation, so that newly created files have a mode in the range from 0600 to 0666 (all values octal).
- If - UMASK_DIRis set, mysqld uses- ($UMASK_DIR | 0700)as the base mode for directory creation, which then is AND-ed with- ~(~$UMASK & 0666), so that newly created directories have a mode in the range from 0700 to 0777 (all values octal). The AND operation may remove read and write permissions from the directory mode, but not execute permissions.
See also Section B.3.3.1, “Problems with File Permissions”.
    It may be necessary to set PKG_CONFIG_PATH if you
    use pkg-config for building MySQL programs. See
    Building C API Client Programs Using pkg-config.