O diretório /var/lib/mysql
geralmente é legível apenas para os usuários mysql e, é claro, para root.
Assim, qualquer outro usuário, como nagios, icinga ou usuário do sistema Apache, não poderá acessar o soquete.
Eu segui todos os assistentes de instalação Ao configurar o icinga2, tenho o seguinte erro:
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)
Eu tentei usar o utilitário de linha de comando mysql e obtive a mesma resposta. Para corrigir isso, criei um link simbólico para o soquete, de modo que ls -alF
mostre o seguinte:
lrwxrwxrwx 1 mysql mysql 25 Jun 2 10:23 /var/run/mysqld/mysqld.sock -> /var/lib/mysql/mysql.sock=
e ls -alF /var/lib/mysql/mysql.sock
retornam
srwxrwxrwx 1 mysql mysql 0 Jun 2 10:39 /var/lib/mysql/mysql.sock=
Agora a linha de comando mysql funciona sem reclamações, mas continuo a receber erros "Não consigo conectar" da interface web do icinga2. Eu não consigo encontrar em qualquer lugar nos logs que mostra quaisquer erros. Eu verifiquei os seguintes arquivos de log:
ido2db.debug (does some stuff and then cleans up child processes)
apache2/error.log (nothing)
apache2/access.log (shows requests coming through from web interface)
icinga2.err (nothing)
icinga2/startup.log (looks pretty standard)
Não parece haver nenhum registro específico para a interface web icinga2 (não há / var / log / icingaweb2, e não há registro na web em / var / log / icinga2)
Eu não quero mudar o arquivo mycnf porque eu tenho muitos outros serviços confiando na localização atual do soquete mysql.
Como resolvo este problema? Eu não consigo encontrar uma configuração que eu possa modificar para icinga2 para apontá-lo em um soquete diferente. Posso configurar o mysql para ter 2 soquetes?
Se eu alterar o arquivo my.cnf para definir o soquete no local correto, tudo funcionará.
O diretório /var/lib/mysql
geralmente é legível apenas para os usuários mysql e, é claro, para root.
Assim, qualquer outro usuário, como nagios, icinga ou usuário do sistema Apache, não poderá acessar o soquete.