Очередная небольшая заметка про вашего мальч^W пока есть время и желание немного пографоманить.
Довелось недавно переносить виртуалку с Zabbix сервером на другое железо, заодно надо было изменить и логин пароль для доступа в БД MySQL.
Сказано сделано, виртуалка мигрировала, пароль изменен. Делал так:
revoke all ON *.* FROM 'zabbix'@'localhost';
Грохнул все доступы пользователя zabbix@localhost
show grants for 'zabbix'@'localhost'; GRANT USAGE ON `zabbix`.* TO 'zabbix'@'localhost'
Посмотрел что права на доступ к базе действительно отозвались.
drop user 'zabbix'@'localhost';
Грохнул старого пользователя zabbix
grant all ON zabbix.* TO 'zabbix_user'@'localhost' IDENTIFIED BY 'mypassword';
Создал пользователя и дал ему права на базу zabbix.
Все отлично заработало, в логах mysql и zabbix ничего криминального. Но при попытке зайти в веб морду я получал
The frontend does not match Zabbix database
Сначала полез проверять логин и пароль в конфиге Zabbix server’a, но там все было в норме и данные в БД записывались. То есть сам заббикс сервер записать данные в БД мог и доступ есть.
Чуть позже дошло, что это просто zabbix-frontend-php не может попасть в БД, так как ему при установке указывался другой пароль и другая база. А вот его конфиг я как то забыл изменить. Да и вообще если честно не трогал его ни разу, за долгое время. Конфиг этот лежит в
/etc/zabbix/zabbix.conf.php
В формате конфига все предельно понятно и трудностей не вызовет. Актуализируем информацию в нем, сохраняем и открываем веб морду Zabbix.