Estou tentando configurar o MariaDB em uma máquina com Fedora 37: Workstation como sistema operacional.
Esperava usar /etc/my.cnf
para configurar as portas e tal, porém, o arquivo continha um include para o diretório /etc/my.cnf.d
. Estou confuso sobre o motivo de ter .d
uma extensão. Da aula de ciência da computação, lembro-me de caminhos que terminam em .d como arquivos de cabeçalho, mas dependências para programas C++.
Então, o que eu gostaria de saber é o seguinte: posso configurar o MariaDB usando o /etc/my.cnf
, e também posso usar o mariadb-server.cnf
arquivo no /etc/my.cnf.d
diretório.
Se eu puder usar ambos, é correto supor que quaisquer configurações definidas /etc/my.cnf
substituirão outras configurações colocadas dentro do /etc/my.cnf.d
diretório?
Embora
/etc/my.cnf
seja o arquivo de configuração principal,/etc/my.cnf.d
é um diretório para arquivos de configuração adicionais do MySQL.Com relação a esta pergunta:
Tudo o
.d
que significa éd
irectory. É isso.É apenas uma maneira diferente de organizar arquivos de configuração. Nada muito profundo ou técnico. E se você me perguntar, não é necessário para uma instalação do MySQL, mas não sou um desenvolvedor MariaDB que decidiu criar essa funcionalidade. Então… ei! Nos detalhes do núcleo.
Não. Exatamente o oposto:
/etc/my.cnf
é carregado primeiro e as configurações/etc/my.cnf.d
são carregadas depois. Detalhes abaixo.Embora
/etc/my.cnf
seja o arquivo de configuração principal,/etc/my.cnf.d
é um diretório de configuração. Significa um diretório que pode conter vários arquivos de configuração.Como explicam os documentos oficiais do MariaDB :
Essa
!includedir
opção de configuração carregará arquivos de configuração do/etc/my.cnf.d/
diretório. Normalmente, após a configuração principal ser/etc/my.cnf
carregada.A realidade é que você pode fazer todas as alterações que deseja no
/etc/my.cnf
arquivo principal, mas o/etc/my.cnf.d
diretório pode conter opções de configuração que você deseja gerenciar separadamente.Honestamente, nunca entendi o benefício do MySQL. Mas - por exemplo - no Apache existe um diretório semelhante chamado
/etc/httpd/conf.d
e é onde eu colocaria arquivos de configuração específicos que mudam dependendo do servidor e da localização.Mas para o MySQL (ou MariaDB), apenas faço todas as minhas alterações no
/etc/my.cnf
arquivo de configuração principal.Quero dizer, talvez você possa separar todas as opções de configuração do InnoDB e defini-las em um arquivo de configuração chamado
/etc/my.cnf.d/innodb.cnf
e carregá-lo conforme necessário. Mas cada vez que penso nos benefícios de fazer algo assim, ainda parece um método excessivamente fragmentado de gerenciamento de configuração.No final, você precisa olhar
/etc/my.cnf.d/
como um método conveniente de gerenciar arquivos de configuração. Se não precisa, não use.