У меня был успешный сервер zabbix 3.4, работающий в контейнере LXC (база CentOS7) со встроенной базой данных в течение месяца, и я решил объединить все базы данных контейнеров на моем сервере в одну. Итак, я сбросил базу данных zabbix, переместил ее в контейнер, сделал доступным ее порт 3306. Из контейнера Zabbix я могу успешно войти в mysql с помощью командной строки. Бэкэнд сервера, кажется, может после обновления /etc/my.cnf
Проблема в том, что интерфейс все еще пытается связаться с mysql через локальный сокет:
Error connecting to database: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Я пытался переименовать /usr/share/zabbix/conf/zabbix.conf.php.example
к /usr/share/zabbix/conf/zabbix.conf.php
и поместите в него конфигурацию базы данных, но это ничего не меняет. Я попытался просмотреть все /usr/share/zabbix
каталог для моих учетных данных базы данных безуспешно.
Где хранятся конфигурации внешней базы данных? Или я что-то не так делаю?
# grep ^DB /etc/zabbix/zabbix_server.conf
DBHost=mysql.host #local host name
DBName=zabbix
DBUser=zabbix
DBPassword=*******
DBPort=3306
# cat zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'mysql.host';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = '******';
...
У вас есть /etc/zabbix/zabbix.conf.php
, /etc/zabbix/web/zabbix.conf.php
или файл с аналогичным расположением / именем? В общем, проверьте /etc/zabbix/
каталог, поскольку ваши пакеты, похоже, предпочитают его для файлов конфигурации.