Em qual seção da configuração do MySQL uma variável pode ser colocada abaixo?

1

Eu gostaria de descobrir em qual seção do MySQL as variáveis do arquivo de configuração podem ser usadas. Por exemplo, posso colocar bind-address em [mysqld] ou [server] , o que funciona, mas não funciona quando colocado sob [client] . Quando eu pesquiso o documento , tudo que consigo é o seguinte:

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

Ele me diz que o escopo é Global , mas não onde devo colocá-lo. Estou limpando um arquivo my.cnf com muitas variáveis que são colocadas em diferentes seções e eu simplesmente não tenho ideia do que deve acontecer.

Existe uma maneira de descobrir em qual seção da configuração do MySQL uma variável pode ser colocada?

    
por Max 13.04.2012 / 16:53

1 resposta

1

Basicamente my.cnf é um arquivo de configuração para múltiplos aspectos do MySQL, incluindo o daemon / servidor, o cliente, as versões do modo de segurança de cada um, etc.

Alguns programas pegam diretivas de configuração de vários grupos.

Assim, por exemplo, a diretiva bind-address é relevante apenas para o daemon / servidor porque é a única coisa que precisa se ligar a um endereço, como tal que a diretiva pertence apenas ao [mysqld] ou [server] Seções. Quando você inicia o servidor, ele não vê nada na seção [client] e, quando você inicia o cliente, a diretiva bind-address não é relevante.

A razão pela qual a documentação lhe diz que o escopo my.cnf é global é porque é, todos os programas na suíte MySQL podem / irão procurar naquele arquivo por opções.

Então, se você pensar nisso menos como "seções" da configuração e mais como vários arquivos de configuração em um, isso pode fazer um pouco mais de sentido. Ao decidir o que colocar onde você simplesmente precisa pensar sobre qual aspecto do mysql você está tentando definir opções. O servidor? O cliente? Somente modo de segurança?

Então, para responder à sua pergunta na forma de resumo, "O que deve ir aonde?" - Coloque opções relevantes para determinados programas na seção que se aplica a esse programa.

mysql --help

Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf The following groups are read: mysql client

Para ler mais:

Opções do Servidor MySQL (e as seções que você pode usar para defini-las )

Usando arquivos de opções do MySQL (visão geral sobre my.cnf)

    
por 13.04.2012 / 17:09