有几种方法可以为MySQL程序指定选项:
-
在程序名称后面的命令行上列出选项。这对于应用于程序特定调用的选项很常见。
-
在程序启动时读取的选项文件中列出选项。这对于您希望程序每次运行时使用的选项很常见。
-
列出环境变量中的选项(参见,"设置环境变量")。此方法对于您希望在每次程序运行时应用的选项很有用。在实践中,选项文件更常用于此目的,但,"在Unix上运行多个MySQL实例",讨论了环境变量可能非常有帮助的一种情况。它描述了一种方便的技术,使用此类变量为服务器和客户端程序指定TCP/IP端口号和Unix套接字文件。
选项按顺序处理,因此如果多次指定一个选项,则最后一次出现优先。以下命令使mysql连接到localhost上运行的服务器:
sql
mysql -h example.com -h localhost
有一个例外:对于mysqld,--user选项的第一个实例被用作安全预防措施,以防止选项文件中指定的用户在命令行上被覆盖。
如果给出了冲突或相关的选项,则后面的选项优先于前面的选项。以下命令在"无列名"模式下运行mysql:
sql
mysql --column-names --skip-column-names
MySQL程序首先通过检查环境变量,然后通过处理选项文件,然后通过检查命令行来确定哪些选项。因为后面的选项优先于前面的选项,所以处理顺序意味着环境变量的优先级最低,命令行选项的优先级最高。
对于服务器,有一个例外:数据目录中的mysqld-auto. cnf选项文件是最后处理的,因此它甚至优先于命令行选项。
您可以通过在选项文件中为程序指定默认选项值来利用MySQL程序处理选项的方式。这使您能够避免每次运行程序时键入它们,同时使您能够在必要时使用命令行选项覆盖默认值。