有几种方法可以为 MySQL 程序指定选项:
在程序名称后面的命令行中列出选项。这对于适用于特定程序调用的选项来说很常见。
列出程序启动时读取的选项文件中的选项。这对于您希望程序每次运行时使用的选项很常见。
列出环境变量中的选项(请参阅 第 4.2.9 节,“设置环境变量”)。此方法对于您希望在每次程序运行时应用的选项很有用。在实践中,选项文件更常用于此目的,但第 5.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 程序处理选项的方式。这使您能够避免在每次运行程序时都键入它们,同时使您能够在必要时使用命令行选项覆盖默认值。