Я следил за всеми мастерами установки При настройке icinga2 у меня следующая ошибка:
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)
Я попытался использовать утилиту командной строки mysql и получил тот же ответ. Чтобы исправить это, я создал символическую ссылку на сокет, чтобы ls -alF
показывает следующее:
lrwxrwxrwx 1 mysql mysql 25 Jun 2 10:23 /var/run/mysqld/mysqld.sock -> /var/lib/mysql/mysql.sock=
и ls -alF /var/lib/mysql/mysql.sock
возвращается
srwxrwxrwx 1 mysql mysql 0 Jun 2 10:39 /var/lib/mysql/mysql.sock=
Теперь командная строка mysql работает без жалоб, но я продолжаю получать ошибки «Не удается подключиться» из веб-интерфейса icinga2. Я не могу найти нигде в журналах, где есть ошибки. Я проверил следующие файлы журналов:
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)
Похоже, что нет никаких журналов, относящихся к веб-интерфейсу icinga2 (нет / var / log / icingaweb2, и нет веб-журнала в / var / log / icinga2)
Я не хочу изменять файл mycnf, потому что у меня есть много других служб, зависящих от текущего местоположения сокета mysql.
Как мне решить эту проблему? Кажется, я не могу найти конфигурацию, которую я могу изменить для icinga2, чтобы указать ее на другой сокет. Могу ли я настроить mysql на 2 сокета?
Если я изменю файл my.cnf, чтобы установить сокет в правильном месте, все будет работать.
Каталог /var/lib/mysql
обычно доступен для чтения только моим пользователям mysql и, конечно же, root.
Таким образом, любой другой пользователь, например, nagios, icinga или системный пользователь Apache, не сможет получить доступ к сокету.