4.2.2.1 在命令行上使用选项
4.2.2.2 使用选项文件
4.2.2.3 影响选项文件处理的命令行选项
4.2.2.4 程序选项修饰符
4.2.2.5 使用选项来设置程序变量
4.2.2.6 选项默认值,选项期望值,和 =
符号
有几种方法可以为 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 程序处理选项的方式。这使您可以避免在每次运行程序时键入它们,同时允许您在必要时使用命令行选项覆盖默认值。