Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  MySQL Programs  /  Environment Variables

6.9 环境变量

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

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

Variable Description
AUTHENTICATION_KERBEROS_CLIENT_LOG Kerberos 身份验证日志级别。
AUTHENTICATION_LDAP_CLIENT_LOG 客户端 LDAP 身份验证日志级别。
AUTHENTICATION_PAM_LOG PAM 身份验证插件调试设置。
CC 您的 C 编译器名称(用于运行 CMake)。
CXX 您的 C++ 编译器名称(用于运行 CMake)。
CC 您的 C 编译器名称(用于运行 CMake)。
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 节,“客户端明文 Pluggable 身份验证”
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_OPENSSL_UDF_DH_BITS_THRESHOLD 最大密钥长度,用于 create_dh_parameters()。见 第 8.6.3 节,“MySQL Enterprise Encryption 使用和示例”
MYSQL_OPENSSL_UDF_DSA_BITS_THRESHOLD 最大 DSA 密钥长度,用于 create_asymmetric_priv_key()。见 第 8.6.3 节,“MySQL Enterprise Encryption 使用和示例”
MYSQL_OPENSSL_UDF_RSA_BITS_THRESHOLD RSA 密钥的最大长度用于 create_asymmetric_priv_key()。见 第 8.6.3 节,“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 默认的 Unix 套接字文件名;用于连接到 localhost
MYSQLX_TCP_PORT X 插件的默认 TCP/IP 端口号。
MYSQLX_UNIX_PORT X 插件的默认 Unix 套接字文件名;用于连接到 localhost
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。即使在没有这种版本的 ps 的系统上,也不应该假设没有其他方法来检查进程环境。

MYSQL_PWD 自 MySQL 8.3 起被弃用;预计在未来版本的 MySQL 中将被删除。

MYSQL_TEST_LOGIN_FILE 是登录路径文件的路径名(由 mysql_config_editor 创建的文件)。如果未设置,默认值是 %APPDATA%\MySQL\.mylogin.cnf 目录在 Windows 上和 $HOME/.mylogin.cnf 在非 Windows 系统上。见 第 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,尽管名称如此,却用作模式,而不是掩码:

  • 如果设置了 UMASK,则 mysqld 使用 ($UMASK | 0600) 作为文件创建的模式,因此新创建的文件具有从 0600 到 0666 之间的模式(所有值八进制)。

  • 如果设置了 UMASK_DIR,则 mysqld 使用 ($UMASK_DIR | 0700) 作为目录创建的基本模式,然后与 ~(~$UMASK & 0666) 进行 AND 操作,以便新创建的目录具有从 0700 到 0777 之间的模式(所有值八进制)。AND 操作可能会从目录模式中删除读取和写入权限,但不会删除执行权限。

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

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