大多数支持选项文件的MySQL程序都处理以下选项。因为这些选项会影响选项文件的处理,所以必须在命令行上给出,而不是在选项文件中给出。为了正常工作,这些选项中的每一个都必须先于其他选项给出,但以下情况除外:
-print-defaults
可以紧跟在--defaults-file
、--defaults-extra-file
或--login-path
之后使用- 在Windows上,如果同时使用
--defaults-file
和--install
选项来启动MySQL服务,那么--install
必须首先给出。
在指定文件名作为选项值时,应避免使用 ~
这个 shell 元字符,因为它可能不会按你期望的方式被解释。
--defaults-extra-file=file_name
在全局选项文件之后,但(在Unix系统上)在用户选项文件之前,以及在所有平台上的登录路径文件之前,读取此选项文件。如果此文件不存在或无法访问,则会发生错误。如果提供的 file_name
不是一个绝对路径名(即没有从文件系统的根目录开始的路径),那么它通常会被解释为相对于当前工作目录(current working directory)的路径。
--defaults-file=file_name
只读给定的选项文件。如果文件不存在或无法访问,则会发生错误。如果提供的 file_name
不是一个绝对路径名,那么它通常会被解释为相对于当前工作目录的路径。
例外:即使使用--defaults文件,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 可以用来防止它们被读取。
例外情况是,即使不使用默认值,客户端程序也会读取.mlogin.cnf登录路径文件(如果存在)。这允许以比在命令行上更安全的方式指定密码,即使不存在默认值。要创建.mylogin.cnf,请使用mysql_config_editor实用程序。
--print-defaults
打印程序名称及其从选项文件中获得的所有选项。密码值被屏蔽。
程序选项修改器
有些选项是“boolean”,可以打开或关闭控制行为。例如,mysql客户端支持--column-names选项,该选项决定是否在查询结果的开头显示一行列名。默认情况下,此选项处于启用状态。然而,在某些情况下,您可能需要禁用它,例如当将mysql的输出发送到另一个程序时,该程序希望只看到数据,而不是初始头行。
要禁用列名,可以使用以下任意形式指定该选项:
--disable-column-names
--skip-column-names
--column-names=0
--disable和--skip前缀以及 =0 后缀都具有相同的效果:关闭了选项。
选项的“enabled”形式可以通过以下任何方式指定:
--column-names
--enable-column-names
--column-names=1
ON、TRUE、OFF和FALSE也可识别为布尔选项(不区分大小写)。
如果某个选项的前缀为--loose,则如果程序无法识别该选项,则不会退出并返回错误,而是只发出警告:
$> mysql --loose-no-such-option
mysql: WARNING: unknown option '--loose-no-such-option'
当您在同一台机器上运行多个MySQL安装的程序并在选项文件中列出选项时,--loose前缀可能很有用。一个可能无法被所有版本的程序识别的选项可以使用--loose前缀(或选项文件中的loose)给出。识别该选项的程序版本会正常处理该选项,而不识别的程序版本则会发出警告并忽略该选项。
--maximum前缀仅适用于mysqld,并允许对大型客户端程序设置会话系统变量的数量进行限制。为此,请在变量名中使用--maximum前缀。例如,--maximum-max_heap_table_size=32M可防止任何客户端使堆表大小限制大于32M。
--maximum前缀用于具有会话值的系统变量。如果应用于仅具有全局值的系统变量,则会发生错误。例如,当--maximum-back_log=200时,服务器会产生以下错误:
Maximum value of 'back_log' cannot be set