影响选项文件处理的命令行选项

来自泡泡学习笔记
BrainBs讨论 | 贡献2023年7月2日 (日) 16:08的版本 (创建页面,内容为“大多数支持选项文件的MySQL程序处理以下选项。由于这些选项会影响选项文件的处理,因此必须在命令行上给出,而不是在选项文件中。为了正常工作,这些选项中的每一个都必须在其他选项之前给出,除非有以下例外情况: 1、--print-defaults可以在--defaults-file、--defaults-extra-file或--login-path之后立即使用。 2、在Windows上,如果使用--defaults-file和--install…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

大多数支持选项文件的MySQL程序处理以下选项。由于这些选项会影响选项文件的处理,因此必须在命令行上给出,而不是在选项文件中。为了正常工作,这些选项中的每一个都必须在其他选项之前给出,除非有以下例外情况:

1、--print-defaults可以在--defaults-file、--defaults-extra-file或--login-path之后立即使用。

2、在Windows上,如果使用--defaults-file和--install选项启动服务器,则--install必须先出现。


在指定文件名作为选项值时,避免使用~ shell元字符,因为它可能不会按照您的预期进行解释。

--defaults-extra-file=file_name

在全局选项文件之后(在Unix上)但在用户选项文件之前(在所有平台上)以及登录路径文件之前读取此选项文件。如果文件不存在或无法访问,则会出现错误。如果file_name不是绝对路径名,则会相对于当前目录进行解释。


--defaults-file=file_name

仅读取给定的选项文件。如果文件不存在或无法访问,则会出现错误。如果file_name是相对路径名而不是完整路径名,则相对于当前目录进行解释。

例外情况:即使使用了--defaults-file,mysqld也会读取mysqld-auto.cnf文件,客户端程序也会读取.mylogin.cnf文件。


--defaults-group-suffix=str

不仅读取通常的选项组,还读取具有常规名称和后缀str的选项组。例如,mysql客户端通常会读取[client]和[mysql]组。如果使用--defaults-group-suffix=_other选项,mysql还会读取[client_other]和[mysql_other]组。


--login-path=name

从.mylogin.cnf登录路径文件的指定登录路径中读取选项。 "登录路径"是一个包含指定要连接到的MySQL服务器和要进行身份验证的帐户的选项的选项组。要创建或修改登录路径文件,请使用mysql_config_editor实用程序。

客户端程序除了默认读取的选项组外,还会读取与命名登录路径对应的选项组。考虑以下命令:

mysql --login-path=mypath

默认情况下,mysql客户端读取[client]和[mysql]选项组。因此,对于所示的命令,mysql从其他选项文件读取[client]和[mysql],并从登录路径文件中读取[client]、[mysql]和[mypath]。

即使使用--no-defaults选项,客户端程序也会读取登录路径文件。

要指定替代的登录路径文件名,请设置MYSQL_TEST_LOGIN_FILE环境变量。


--no-defaults

不读取任何选项文件。如果由于从选项文件中读取未知选项导致程序启动失败,则可以使用--no-defaults来阻止它们被读取。

例外情况是,即使使用了--no-defaults,客户端程序也会读取.mylogin.cnf登录路径文件(如果存在)。这使得密码可以以比在命令行上更安全的方式指定。要创建.mylogin.cnf,请使用mysql_config_editor实用程序。


--print-defaults

打印程序名称以及从选项文件获取的所有选项。密码值被屏蔽。