变量可以放在 MySQL 配置的哪个部分下?

变量可以放在 MySQL 配置的哪个部分下?

我想找出 MySQL 配置文件中变量可以在哪个部分使用。例如,我可以放在或bind-address下,但放在 下则不起作用。当我查找[mysqld][server][client]文档,我得到的只有这些:

Command-Line Format --bind-address=addr
Option-File Format  bind-address=addr
Variable Name       bind-address
Variable Scope      Global
Dynamic Variable    No
                    Permitted Values
                    Type    string
                    Default 0.0.0.0

它告诉我范围是Global,但没有告诉我应该把它放在哪里。我正在清理一个my.cnf文件,里面有很多变量,放在不同的部分,但我不知道应该把什么放在哪里。

有什么方法可以找出变量位于 MySQL 配置的哪个部分?

答案1

基本上,my.cnf 是 MySQL 多个方面的配置文件,包括守护进程/服务器、客户端、每个的安全模式版本等。

一些程序从多个组中获取配置指令。

例如,bind-address 指令仅与守护进程/服务器相关,因为它是唯一需要将自身绑定到地址的东西,因此该指令仅属于 [mysqld] 或 [server] 部分。启动服务器时,它不会查看 [client] 部分中的任何内容,启动客户端时,bind-address 指令不相关。

文档告诉您 my.cnf 范围是全局的原因是,MySQL 套件中的所有程序都可以/将会在该文件中查找选项。

因此,如果您不将其视为配置的“部分”,而是将其视为一个文件中的多个配置文件,那么可能会更有意义。在决定将什么放在哪里时,您只需考虑要为 mysql 的哪个方面设置选项。服务器?客户端?仅安全模式?

因此,以摘要形式回答您的问题“什么应该放在哪里?” - 将与某些程序相关的选项放在适用于该程序的部分中。

mysql--帮助

默认选项按给定顺序从以下文件读取:/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 以下组正在读取:mysql 客户端

欲了解更多详情,请阅读:

MySQL 服务器选项(以及您可以用来设置它们的部分)

使用 MySQL 选项文件(my.cnf 上的概述)

相关内容