MySQL 8.0 参考手册  / 第 4 章 MySQL 程序  / 4.2 使用 MySQL 程序  /  4.2.2 指定程序选项

4.2.2 指定程序选项

有几种方法可以为 MySQL 程序指定选项:

  • 在程序名称后面的命令行中列出选项。这对于适用于特定程序调用的选项来说很常见。

  • 列出程序启动时读取的选项文件中的选项。这对于您希望程序每次运行时使用的选项很常见。

  • 列出环境变量中的选项(请参阅 第 4.2.7 节,“设置环境变量”)。此方法对于您希望在每次程序运行时应用的选项很有用。在实践中,选项文件更常用于此目的,但第 5.7.3 节,“在 Unix 上运行多个 MySQL 实例”讨论了环境变量可能非常有用的一种情况。它描述了一种方便的技术,该技术使用此类变量为服务器和客户端程序指定 TCP/IP 端口号和 Unix 套接字文件。

选项按顺序处理,因此如果多次指定一个选项,最后一次出现的优先。以下命令使mysql连接到运行在 上的服务器localhost

mysql -h example.com -h localhost

有一个例外:对于mysqld, 该选项的第一个实例 --user用作安全预防措施,以防止选项文件中指定的用户在命令行上被覆盖。

如果给出了冲突或相关的选项,则后面的选项优先于前面的选项。以下命令 以无列名模式 运行mysql :

mysql --column-names --skip-column-names

MySQL 程序通过检查环境变量,然后通过处理选项文件,然后通过检查命令行来确定首先给出哪些选项。因为后面的选项优先于前面的选项,所以处​​理顺序意味着环境变量的优先级最低,命令行选项的优先级最高。

您可以通过在选项文件中为程序指定默认选项值来利用 MySQL 程序处理选项的方式。这使您能够避免在每次运行程序时都键入它们,同时使您能够在必要时使用命令行选项覆盖默认值。

一个选项可以通过全写或任何明确的前缀来指定。例如, --compress可以将选项赋予mysqldump as --compr,但不能赋予 as ,--comp因为后者不明确:

$> mysqldump --comp
mysqldump: ambiguous option '--comp' (compatible, compress)

请注意,如果为程序实现了新选项,则使用选项前缀可能会导致问题。现在明确的前缀将来可能会变得不明确。

笔记

从 MySQL 5.6.13 开始,不推荐使用明确的前缀。如果给出明确的前缀,则会出现警告以提供反馈。从 MySQL 5.7 开始不再支持选项前缀;只接受完整选项。