Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Specifying Program Options

6.2.2 指定程序选项

有多种方式指定 MySQL 程序的选项:

  • 在命令行上列出选项,紧跟在程序名称后面。这对于特定程序调用时的选项非常常见。

  • 在选项文件中列出选项,该文件在程序启动时被读取。这对于每次程序运行时都需要使用的选项非常常见。

  • 在环境变量中列出选项(见 第 6.2.9 节,“设置环境变量”)。这对于每次程序运行时都需要使用的选项非常有用。在实践中,选项文件更常用于此目的,但 第 7.8.3 节,“在 Unix 上运行多个 MySQL 实例” 中讨论了一种情况,在这种情况下环境变量非常有帮助。它描述了一种使用这些变量指定服务器和客户端程序的 TCP/IP 端口号和 Unix 套接字文件的技巧。

选项按照顺序处理,因此如果一个选项被指定多次,最后一个实例将生效。以下命令使 mysql 连接到在 localhost 上运行的服务器:

mysql -h example.com -h localhost

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

如果存在冲突或相关选项,将优先使用后面的选项。以下命令在 无列名 模式下运行 mysql

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

MySQL 程序首先检查环境变量,然后处理选项文件,最后检查命令行。因为后面的选项优先于前面的选项,因此环境变量具有最低优先级,而命令行选项具有最高优先级。

对于服务器,有一个例外:mysqld-auto.cnf 选项文件在数据目录中被处理最后,因此它甚至优先于命令行选项。

您可以利用 MySQL 程序处理选项的方式,通过在选项文件中指定程序的默认选项值。这使您可以避免每次运行程序时输入这些值,同时也可以使用命令行选项覆盖默认值。