MySQL 8.4 发行说明
有几种方法可以为 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 程序处理选项的方式,在选项文件中为程序指定默认选项值。这使您能够避免在每次运行程序时都键入它们,同时使您能够在必要时使用命令行选项覆盖默认值。