A maneira correta de sobrescrever o Mysql my.cnf no CentOS / RHEL?

4

Contexto: Estou portando um software de servidor de código aberto (e escrevendo documentação associada) do Debian / Ubuntu para o CentOS / RHEL.

Para que o software funcione corretamente, eu preciso adicionar uma dúzia de parâmetros específicos para a configuração do MySQL (exemplo: aumentar max_allowed_packet ).

Do ponto de vista do Debian, eu sei que posso sobrescrever o my.cnf do MySQL adicionando um arquivo a /etc/mysql.d , digamos /etc/mysql.d/my-software.cnf .

Minha pergunta é : como fazer o mesmo corretamente no CentOS / RHEL?

Outras informações:

  • Eu sei onde o mysqld procura por seu arquivo de configuração graças ao link . Mas, para o CentOS, não entendo:
    • como NÃO editar diretamente o /etc/my.cnf (que pode não ser à prova de pacotes)
    • onde adicionar meus parâmetros Mysql específicos
  • Lendo o script de inicialização do CentOS Mysql ( /etc/init.d/mysql ), vi que /etc/sysconfig/mysqld é originado, mas não sei como adicionar parâmetros de configuração.
  • Eu procurei por combinações de override / my.cnf / centos no ServerFault, StackOverflow e também no DBA.StackExchange, mas não encontrei nada relevante.
  • Eu faço todos os testes dentro de um contêiner Docker "centos: 6"
  • o software é o link da Asqatasun
por Matthieu FAURE 22.09.2016 / 07:49

1 resposta

0

Usando strace -e open /some/prog/name , por ex. strace -e open mysql revelaria quais locais são verificados quanto às diretivas de configuração e em que ordem para cada sistema operacional em particular e uma versão do programa. Programas diferentes usam locais e seções diferentes dentro de uma configuração.

Para substituir, você só pode ter certeza de que o CentOS / RHEL instala e usa /etc/my.cnf . Se o software que você está portando usa libmysqlclient, você pode tomar o caminho de substituir MYSQL_HOME variável ambiental. Se não, adicionar !include /some/location.cnf à seção [client] do /etc/my.cnf ainda é uma opção.

    
por 26.07.2017 / 16:12