У меня есть сервер с установленным агентом zabbix, он работает нормально.
Я хочу контролировать базу данных на сервере, я следил за документацией MySQL by Zabbix agent
.
у меня в логе ошибка
mysqladmin: connect to server at '127.0.0.1' failed
error: 'Access denied for user 'zabbix'@'localhost' (using password: NO)'
Но мой .my.cnf
это в /var/run/zabbix/
выглядеть так:
[client]
user="zbx_monitor"
password='<password>'
Домашний каталог zabbix
пользователь /var/run/zabbix/
так что это должно работать.
Я делал это на других серверах, и все работало нормально. Но на этом .my.cnf
не работает, и я не могу найти, почему.
Единственное, что отличается между сервером:
- Домашний каталог
- Дата сервера, поэтому не та же версия Linux
У вас есть идеи, что может вызвать эту проблему?
Редактировать:
namei -l /var/run/zabbix/.my.cnf
f: /var/run/zabbix/.my.cnf
drwxr-xr-x root root /
drwxr-xr-x root root var
lrwxrwxrwx root root run -> /run
drwxr-xr-x root root /
drwxr-xr-x root root run
drwxr-xr-x zabbix zabbix zabbix
-rw-r----- zabbix zabbix .my.cnf
Если я попытаюсь запустить команду с пользователем zabbix
оно работает:
sudo -u zabbix mysqladmin -h"127.0.0.1" -P"3306" ping
mysqld is alive
Таким образом, ошибка возникает только тогда, когда агент zabbix запускает команду.
Вот домашний каталог моего пользователя zabbix
getent passwd zabbix
zabbix:x:109:115::/var/run/zabbix/:/bin/false
Грегори Бутт
2 ответа
Разрешения вашего .my.cnf
слишком широко открыты.
$ ls -l .my.cnf
-rwxrwxrwx 1 user user 44 Sep 14 15:40 .my.cnf
$ mysqladmin ping
mysqladmin: [Warning] World-writable config file '/home/user/.my.cnf' is ignored.
mysqladmin: connect to server at 'localhost' failed
Установите соответствующие разрешения.
chmod 640 /var/run/zabbix/.my.cnf
Джеральд Шнайдер
Не заключайте значения в одинарные кавычки,
Уилсон Хаук