MySQLconfiguration的哪一部分可以放置一个variables?

我想找出哪些部分可以使用MySQLconfiguration文件中的variables。 例如,我可以在[mysqld][server]下面放置bind-address ,但是放在[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文件,其中有许多variables放在不同的部分,我不知道应该去哪里。

有没有一种方法,我可以找出哪个部分的MySQLconfigurationvariables被放置在?

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

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

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

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

所以,如果你把它看作configuration的“部分”,而不是把多个configuration文件放在一个configuration文件中,它可能会更有意义。 在决定放哪些地方时,你只需要考虑一下mysql的哪个方面就是为了设置选项。 服务器? 客户端? 只有安全模式?

所以要以总结的forms回答你的问题,“应该去哪里?” – 在适用于该计划的章节中,将与某些计划相关的选项。

mysql –help

默认选项是按给定顺序从以下文件中读取的:/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf〜/ .my.cnf 读取以下组:mysql client

对于一些进一步的阅读:

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

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