影响选项文件处理的命令行选项
大多数支持选项文件的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
打印程序名称以及从选项文件获取的所有选项。密码值被屏蔽。