大多数支持选项文件的 MySQL 程序都处理以下选项。由于这些选项会影响选项文件处理,因此必须在命令行上给出它们,而不是在选项文件中给出。为了正常工作,这些选项中的每一个都必须在其他选项之前给出,但有以下例外
--print-defaults可以立即在--defaults-file、--defaults-extra-file、--login-path或--no-login-paths之后使用。在 Windows 上,如果服务器使用
--defaults-file和--install选项启动,--install必须放在前面。请参见 第 2.3.3.8 节,“将 MySQL 作为 Windows 服务启动”。
在将文件名指定为选项值时,避免使用 ~ shell 元字符,因为它可能无法按预期解释。
表 6.3 选项文件选项摘要
| 选项名称 | 描述 |
|---|---|
| --defaults-extra-file | 除了通常的选项文件外,还读取指定的选项文件 |
| --defaults-file | 只读取指定的选项文件 |
| --defaults-group-suffix | 选项组后缀值 |
| --login-path | 从 .mylogin.cnf 中读取登录路径选项 |
| --no-defaults | 不读取任何选项文件 |
| --no-login-paths | 不从登录路径文件读取选项 |
--defaults-extra-file=file_name命令行格式 --defaults-extra-file=filename类型 文件名 默认值 [无]在全局选项文件之后,但在(在 Unix 上)用户选项文件之前以及(在所有平台上)登录路径文件之前读取此选项文件。(有关使用选项文件的顺序信息,请参见 第 6.2.2.2 节,“使用选项文件”。)如果文件不存在或无法访问,则会发生错误。如果
file_name不是绝对路径名,则相对于当前目录进行解释。有关此选项可能指定的职位约束,请参见本节的介绍。
-
命令行格式 --defaults-file=filename类型 文件名 默认值 [无]只读取给定的选项文件。如果文件不存在或无法访问,则会发生错误。
file_name相对于当前目录进行解释,如果给出的是相对路径名而不是完整路径名。例外:即使使用
--defaults-file,mysqld 也会读取mysqld-auto.cnf,而客户端程序会读取.mylogin.cnf。有关此选项可能指定的职位约束,请参见本节的介绍。
-
命令行格式 --defaults-group-suffix=string类型 字符串 默认值 [无]不仅读取通常的选项组,还读取具有通常名称以及
str后缀的组。例如,mysql 客户端通常读取[client]和[mysql]组。如果此选项作为--defaults-group-suffix=_other给出,mysql 还会读取[client_other]和[mysql_other]组。 -
命令行格式 --login-path=name类型 字符串 默认值 [无]从
.mylogin.cnf登录路径文件中命名的登录路径读取选项。一个 “登录路径” 是一个选项组,包含指定要连接到的 MySQL 服务器以及要使用哪个帐户进行身份验证的选项。要创建或修改登录路径文件,请使用 mysql_config_editor 工具。请参见 第 6.6.7 节,“mysql_config_editor — MySQL 配置工具”。除了程序默认读取的选项组之外,客户端程序还会读取与命名的登录路径相对应的选项组。考虑以下命令
mysql --login-path=mypath默认情况下,mysql 客户端会读取
[client]和[mysql]选项组。因此,对于显示的命令,mysql 会从其他选项文件中读取[client]和[mysql],以及从登录路径文件中读取[client]、[mysql]和[mypath]。即使使用
--no-defaults选项,客户端程序也会读取登录路径文件,除非设置了--no-login-paths。要指定备用登录路径文件名,请设置
MYSQL_TEST_LOGIN_FILE环境变量。有关此选项可能指定的职位约束,请参见本节的介绍。
-
命令行格式 --no-login-paths类型 布尔值 默认值 false跳过从登录路径文件读取选项。即使使用
--no-defaults选项,客户端程序也会始终读取登录路径文件,而无需此选项。有关相关信息,请参见
--login-path。有关此选项可能指定的职位约束,请参见本节的介绍。
-
命令行格式 --no-defaults类型 布尔值 默认值 false不读取任何选项文件。如果程序启动由于从选项文件中读取未知选项而失败,则可以使用
--no-defaults来阻止读取它们。例外情况是,客户端程序即使在使用
--no-defaults时,也会读取.mylogin.cnf登录路径文件(如果存在),除非设置了--no-login-paths。这允许以比在命令行上更安全的方式指定密码,即使存在--no-defaults。要创建.mylogin.cnf,请使用 mysql_config_editor 实用程序。请参见 第 6.6.7 节,“mysql_config_editor — MySQL 配置实用程序”。 -
命令行格式 --print-defaults类型 布尔值 默认值 false打印程序名称以及它从选项文件中获取的所有选项。密码值被屏蔽。
有关此选项可能指定的职位约束,请参见本节的介绍。