MySQL 8.4 Release Notes
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
选项将被用作安全预防措施,以防止在选项文件中指定的用户被命令行上指定的用户override。
如果冲突或相关的选项被给出,后面的选项将优先于前面的选项。以下命令将mysql在““无列名””模式下运行:
mysql --column-names --skip-column-names
MySQL 程序首先通过环境变量来确定选项,然后通过处理选项文件,最后通过检查命令行。由于后续选项优先于早期的选项,因此处理顺序意味着环境变量具有最低优先级,而命令行选项具有最高优先级。
对于服务器,一个例外情况适用:在数据目录中的 mysqld-auto.cnf 选项文件将最后被处理,因此它即使优先于命令行选项。
您可以通过在选项文件中指定程序的默认选项值,以便在运行程序时避免输入它们,同时也可以使用命令行选项来override默认值。