4.9 Environment Variables

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 4.2.2.2, “Using Option Files”.

VariableDescription
AUTHENTICATION_LDAP_CLIENT_LOGClient-side LDAP authentication logging level.
AUTHENTICATION_PAM_LOGPAM authentication plugin debug logging settings.
CCThe name of your C compiler (for running CMake).
CXXThe name of your C++ compiler (for running CMake).
CCThe name of your C compiler (for running CMake).
DBI_USERThe default user name for Perl DBI.
DBI_TRACETrace options for Perl DBI.
HOMEThe default path for the mysql history file is $HOME/.mysql_history.
LD_RUN_PATHUsed to specify the location of libmysqlclient.so.
LIBMYSQL_ENABLE_CLEARTEXT_PLUGINEnable mysql_clear_password authentication plugin; see Section 6.4.1.4, “Client-Side Cleartext Pluggable Authentication”.
LIBMYSQL_PLUGIN_DIRDirectory in which to look for client plugins.
LIBMYSQL_PLUGINSClient plugins to preload.
MYSQL_DEBUGDebug trace options when debugging.
MYSQL_GROUP_SUFFIXOption group suffix value (like specifying --defaults-group-suffix).
MYSQL_HISTFILEThe path to the mysql history file. If this variable is set, its value overrides the default for $HOME/.mysql_history.
MYSQL_HISTIGNOREPatterns specifying statements that mysql should not log to $HOME/.mysql_history, or syslog if --syslog is given.
MYSQL_HOMEThe path to the directory in which the server-specific my.cnf file resides.
MYSQL_HOSTThe default host name used by the mysql command-line client.
MYSQL_OPENSSL_UDF_DH_BITS_THRESHOLDMaximum key length for create_dh_parameters(). See Section 6.6.2, “MySQL Enterprise Encryption Usage and Examples”.
MYSQL_OPENSSL_UDF_DSA_BITS_THRESHOLDMaximum DSA key length for create_asymmetric_priv_key(). See Section 6.6.2, “MySQL Enterprise Encryption Usage and Examples”.
MYSQL_OPENSSL_UDF_RSA_BITS_THRESHOLDMaximum RSA key length for create_asymmetric_priv_key(). See Section 6.6.2, “MySQL Enterprise Encryption Usage and Examples”.
MYSQL_PS1The command prompt to use in the mysql command-line client.
MYSQL_PWDThe default password when connecting to mysqld. Using this is insecure. See note following table.
MYSQL_TCP_PORTThe default TCP/IP port number.
MYSQL_TEST_LOGIN_FILEThe name of the .mylogin.cnf login path file.
MYSQL_TEST_TRACE_CRASHWhether the test protocol trace plugin crashes clients. See note following table.
MYSQL_TEST_TRACE_DEBUGWhether the test protocol trace plugin produces output. See note following table.
MYSQL_UNIX_PORTThe default Unix socket file name; used for connections to localhost.
MYSQLX_TCP_PORTThe X Plugin default TCP/IP port number.
MYSQLX_UNIX_PORTThe X Plugin default Unix socket file name; used for connections to localhost.
NOTIFY_SOCKETSocket used by mysqld to communicate with systemd.
PATHUsed by the shell to find MySQL programs.
PKG_CONFIG_PATHLocation of mysqlclient.pc pkg-config file. See note following table.
TMPDIRThe directory in which temporary files are created.
TZThis should be set to your local time zone. See Section B.3.3.7, “Time Zone Problems”.
UMASKThe user-file creation mode when creating files. See note following table.
UMASK_DIRThe user-directory creation mode when creating directories. See note following table.
USERThe default user name on Windows when connecting to mysqld.

For information about the mysql history file, see Section 4.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 8.0; 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 4.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:

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.