Como posso usar o Augeas para gerenciar a diretiva '! includedir' para o MySQL?

2

Eu tenho um arquivo de configuração do MySQL com uma diretiva !includedir . A diretiva parece aparecer corretamente quando a lente examina o arquivo:

$ sudo augtool print /files/etc/my.cnf | fgrep includedir
/files/etc/my.cnf/!includedir = "/etc/mysql/conf.d/"

No entanto, enquanto o augtool imprime o caminho ao examinar /etc/my.cnf , ele continua reclamando de uma expressão de caminho inválida se eu tentar imprimir ou examinar o nó real. Por exemplo:

$ sudo augtool
augtool> print /files/etc/my.cnf/!includedir
error: Invalid path expression
error: empty name
/files/etc/my.cnf/|=|!includedir

Como posso usar o Augeas 1.0.0 para gerenciar a diretiva !includedir no arquivo /etc/my.cnf ?

    
por CodeGnome 30.07.2014 / 18:22

2 respostas

1

! não pode ser usado em caminhos. No entanto, você pode usar a função label() para selecionar esse nó:

augtool> print /files/etc/mysql/my.cnf/*[label()="!includedir"]
/files/etc/mysql/my.cnf/!includedir = "/etc/mysql/conf.d/"

As expressões de caminho estão documentadas no wiki do Augeas.

    
por 31.07.2014 / 14:12
-1

Este é um problema comum, o mysql usa o .ini como arquivos de configuração, e toda ferramenta tenta lidar com isso assim .. Eu não encontrei a solução normal para isso, mas você sempre pode bifurcar / reescrever o atual. método. E isso não é uma coisa muito boa.

No final, resolvi isso pelo meu site, como você pode ter dois arquivos my.cnf simultaneamente /etc/my.cnf e ~ / .my.cnf Tentei mover minhas ligações de cliente para esses dois arquivos. (ok, quando eles são opções de configuração do servidor, eu não tenho ideia do que fazer, espero hackety-hack): (

    
por 31.07.2014 / 15:46

Tags