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: 

•If UMASK  is 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_DIR  is 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. 

## 4.10 Unix Signal Handling in MySQL 

On Unix and Unix-like systems, a process can be the recipient of signals sent to it by the root  system account or the system account that owns the process. Signals can be sent using the kill  command. Some command interpreters associate certain key sequences with signals, such as Control+C  to send a SIGINT  signal. This section describes how the MySQL server and client programs respond to signals. 

## Server Response to Signals 

•Server Response to Signals 

•Client Response to Signals 

mysqld  responds to signals as follows: 

• SIGTERM  causes the server to shut down. This is like executing a SHUTDOWN  statement without having to connect to the server (which for shutdown requires an account that has the SHUTDOWN  privilege). 

• SIGHUP  causes the server to reload the grant tables and to flush tables, logs, the thread cache, and the host cache. These actions are like various forms of the FLUSH  statement. Sending the signal enables the flush operations to be performed without having to connect to the server, which requires a MySQL account that has privileges sufficient for those operations. Prior to MySQL 8.0.20, the server also writes a status report to the error log that has this format: 

Status information: Current dir: /var/mysql/data/ Running threads: 4 Stack size: 262144 Current locks: lock: 0x7f742c02c0e0: lock: 0x2cee2a20: : lock: 0x207a080: 

