Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  MySQL Programs  /  Environment Variables

6.9 环境变量

本节列举了 MySQL 直接或间接使用的环境变量。其中大多数也可以在其他地方找到本手册。

命令行选项优先于 option 文件和环境变量指定的值,option 文件中的值优先于环境变量中的值。在许多情况下,使用 option 文件而不是环境变量来修改 MySQL 行为更好。见第6.2.2.2节,“使用选项文件”

Variable Description
AUTHENTICATION_KERBEROS_CLIENT_LOG Kerberos身份验证日志级别。
AUTHENTICATION_LDAP_CLIENT_LOG 客户端 LDAP 身份验证日志级别。
AUTHENTICATION_PAM_LOG PAM身份验证插件调试设置。
CC 运行CMake所需的C编译器名称。
CXX 运行CMake所需的C++编译器名称。
CC 运行CMake所需的C编译器名称。
DBI_USER Perl DBI 的默认用户名。
DBI_TRACE Perl DBI 的跟踪选项。
HOME MySQL 命令行客户端的默认历史文件路径是 $HOME/.mysql_history
LD_RUN_PATH 指定 libmysqlclient.so 的位置。
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 启用 mysql_clear_password 认证插件,见第8.4.1.4节,“客户端明文可插拔认证”
LIBMYSQL_PLUGIN_DIR 查找客户端插件的目录。
LIBMYSQL_PLUGINS 预加载的客户端插件。
MYSQL_DEBUG 调试时的跟踪选项。
MYSQL_GROUP_SUFFIX 选项组后缀值(如指定--defaults-group-suffix)。
MYSQL_HISTFILE MySQL 命令行客户端的历史文件路径。如果设置了该变量,它将覆盖默认的 $HOME/.mysql_history
MYSQL_HISTIGNORE 指定mysql不应该将哪些语句记录到 $HOME/.mysql_history,或如果给定--syslog,则记录到syslog
MYSQL_HOME 服务器特定的 my.cnf 文件所在目录的路径。
MYSQL_HOST 命令行客户端mysql 的默认主机名。
MYSQL_PS1 命令行客户端mysql 的命令提示符。
MYSQL_PWD 连接到mysqld 时的默认密码。使用这个是不安全的。请参阅以下表格的注释。
MYSQL_TCP_PORT 默认 TCP/IP 端口号码。
MYSQL_TEST_LOGIN_FILE .mylogin.cnf 登录路径文件的名称。
MYSQL_TEST_TRACE_CRASH 测试协议跟踪插件是否会崩溃客户端。请参阅以下表格的注释。
MYSQL_TEST_TRACE_DEBUG 是否生成测试协议跟踪插件输出。见表格后面的注释。
MYSQL_UNIX_PORT 用于连接到localhost的默认 Unix 套接字文件名;
MYSQLX_TCP_PORT X 插件的默认 TCP/IP 端口号。
MYSQLX_UNIX_PORT 用于连接到localhost的 X 插件默认 Unix 套接字文件名;
NOTIFY_SOCKET mysqld 使用的 systemd 通信套接字。
PATH shell 用于找到 MySQL 程序的路径;
PKG_CONFIG_PATH mysqlclient.pc pkg-config 文件的位置。见表格后面的注释。
TMPDIR 创建临时文件的目录;
TZ 第 B.3.3.7 节,“时间区问题” 中应设置为本地时区;
UMASK 创建文件时的用户文件模式。见表格后面的注释。
UMASK_DIR 创建目录时的用户目录模式。见表格后面的注释;
USER Windows 连接时的默认用户名是 mysqld.

关于mysql历史文件,请参阅第6.5.1.3节,“MySQL 客户端日志记录”.

使用 MYSQL_PWD 指定 MySQL 密码被认为是非常不安全,不要使用。一些版本的ps 包含显示运行进程环境的选项。在某些系统上,如果你设置了 MYSQL_PWD,你的密码将被其他用户暴露出来,即使在没有这种版本的ps 的系统上,也不要假设没有其他方法可以查看进程环境。

MYSQL_PWD 自 MySQL 8.4 起已被弃用,预计将在未来版本中删除。

MYSQL_TEST_LOGIN_FILE 是登录路径文件的路径名(由mysql_config_editor 创建)。如果未设置,默认值为 Windows 上的 %APPDATA%\MySQL\.mylogin.cnf 和非 Windows 系统上的 $HOME/.mylogin.cnf。请参阅第6.6.7节,“mysql_config_editor — MySQL 配置工具”

变量 MYSQL_TEST_TRACE_DEBUGMYSQL_TEST_TRACE_CRASH 控制测试协议跟踪客户端插件,如果 MySQL 构建时启用了该插件。更多信息,请参阅使用测试协议跟踪插件

默认的 UMASKUMASK_DIR 值分别是 06400750。MySQL 如果 UMASKUMASK_DIR 值以零开头,则假设其为八进制。例如,设置 UMASK=0600 等同于 UMASK=384,因为 0600 八进制是 384 十进制。

变量 UMASKUMASK_DIR 虽然名称不同,但用作模式,而不是掩码:

  • 如果设置了UMASKmysqld 将使用 ($UMASK | 0600) 作为文件创建的模式,新创建的文件将具有从 0600 到 0666 的权限范围(八进制)。

  • 如果设置了UMASK_DIRmysqld 将使用 ($UMASK_DIR | 0700) 作为目录创建的基础模式,然后与 ~(~$UMASK & 0666) 进行按位与操作,新创建的目录将具有从 0700 到 0777 的权限范围(八进制)。按位与操作可能会从目录模式中删除读写权限,但不会删除执行权限。

请参见第 B.3.3.1 节,“文件权限问题”

可能需要设置PKG_CONFIG_PATH 如果使用pkg-config 构建 MySQL 程序。请参见使用 pkg-config 构建 C API 客户端程序