Não consigo ler dir de /etc/my.cnf. (Errcode: 2)

2

Estou executando o MariaDB (libmysql - 5.5.41-MariaDB) e hoje notei que não poderia ir ao mysql via linha de comando para criar um arquivo de despejo. Isso causaria um erro:

mysql: Can't read dir of '/etc/my.cnf.' (Errcode: 2) Fatal error in defaults handling. Program aborted

Não sei por que precisa ler um diretório chamado "my.cnf". mas eu vejo um diretório chamado "my.cnf.d" na pasta etc. Possivelmente um erro de digitação de algum tipo, mas quando eu fui para o meu arquivo my.cnf, eu não notei nenhuma configuração para isso. A única coisa que está intimamente relacionada é:

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

Isso é algo que recentemente ocorreu sem que eu alterasse nada nas configurações, então não tenho certeza do que está acontecendo com o mariadb. Qualquer ajuda seria apreciada.

EDIT: Okay, I solved the issue by doing mkdir my.cnf. (not sure what this directory is needed for as nothing is inside it. Never changed anything to my.cnf for it to start requiring this directory..

    
por user3186337 24.08.2015 / 19:24

4 respostas

0

Dado que funciona quando você desativa a leitura dos padrões (--no-defaults), o problema está localizado em algum lugar nos arquivos padrão, suas permissões ou as permissões dos diretórios que os contêm.

Examine cuidadosamente as permissões em / etc, /etc/my.cnf, /etc/my.cnf.d, os arquivos dentro de /etc/my.cnf.d bem como para uma boa medida ~ / .my.cnf .

Verifique o conteúdo de cada arquivo para mais inclusões e outras diretivas que possam acessar arquivos.

Se o SELinux estiver habilitado, verifique o conteúdo de /var/log/audit.log para entradas relevantes negadas pelo AVC.

    
por 24.08.2015 / 21:53
4

a solução é simples.


!includedir /etc/my.cnf.d

é sua última linha em /etc/my.cnf, então o mysql não pode ler completo '/etc/my.cnf.d' apenas '/etc/my.cnf'.

Você só precisa adicionar mais uma linha para que o mysql possa ler a sua.


!includedir /etc/my.cnf.d
# add new line here
    
por 23.02.2016 / 14:38
1

Você deve adicionar uma nova linha vazia após! include /etc/my.cnf.d

! includedir /etc/my.cnf.d

LINHA EMPTY

Você deve simplesmente pressionar "enter" no final desta linha:! includedir /etc/my.cnf.d

    
por 14.02.2017 / 11:43
0

Muito estranho: a falha ocorreu também repentinamente (depois de reiniciar o contêiner docker) - em MySQL Ver 14.14 Distrib 5.7.23, Debian 9.5, Docker 17.12.1-ce

Tentar muita coisa não funcionou, todas as permissões foram corretas (afaik).

A última opção foi seguir o "Edit" da questão-autor e que funcionou!

eu fiz:

mv /etc/my.cnf /etc/_my.cnf    # there was just the line [mysql] in it, nothing else
mkdir /etc/my.cnf
chown mysql:mysql /etc/my.cnf

agora, depois de executar service mysql start , de repente, diz: "Um servidor MySQL já foi iniciado". Depois que service mysql restart all estiver funcionando como antes do encerramento do contatainer da janela de encaixe.

    
por 17.09.2018 / 11:15

Tags