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

To set an environment variable within sh, ksh, bash, or zsh shells you can use the following commands:

shell> ENVVAR=value
shell> export ENVVAR

The export is required if you want other sub-commands to inherit that value during execution. On more recent shells you can combine the export and setting processes, like this:

shell> export set ENVVAR=value

For the csh, or tcsh shells, use the setenv command:

shell> setenv ENVVAR value

Within the Windows Command Prompt use the set command to specify the value of a variable:

shell> set ENVVAR=value

On Unix, Linux, OS X, and Windows, the set command without parameters will display the list of currently set variables.

Table 2.21 MySQL Related Environment Variables

CXXThe name of your C++ compiler (for running configure).
CCThe name of your C compiler (for running configure).
CFLAGSFlags for your C compiler (for running configure).
CXXFLAGSFlags for your C++ compiler (for running configure).
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.
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_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_PS1The command prompt to use in the mysql command-line client.
MYSQL_PWDThe default password when connecting to mysqld. Using this is insecure. See Section, “End-User Guidelines for Password Security”.
MYSQL_TCP_PORTThe default TCP/IP port number.
MYSQL_UNIX_PORTThe default Unix socket file name; used for connections to localhost.
PATHUsed by the shell to find MySQL programs.
TMPDIRThe directory in which temporary files are created.
TZThis should be set to your local time zone. See Section B.5.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 and NetWare when connecting to mysqld.

For information about the mysql history file, see Section, “mysql Logging”.

The default UMASK and UMASK_DIR values are 0660 and 0700, 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: