Zabbix 6.2使用MySQL by Zabbix Agent模板无法获取数据求助
解决Zabbix Agent监控MySQL的1045权限错误
问题核心
错误Cannot fetch data: Error 1045: Access denied for user '3306'@'localhost' (using password: NO)说明Zabbix Agent把MySQL端口号当成了用户名,本质是配置文件的格式、路径不对,导致Agent没读到正确的监控账号密码。
修复步骤
- 修正Windows下的配置文件名:MySQL客户端在Windows默认读
my.ini而非my.cnf,把C盘根目录的my.cnf重命名为my.ini。 - 检查
my.ini格式:确保配置放在[client]区块下,格式不能错:
注意:配置项前后别加多余空格,密码含特殊字符就用引号包起来。[client] user=zbx_monitor password=你的监控用户密码 host=localhost port=3306 - 调整Zabbix Agent配置文件路径:你放的
/etc/zabbix/zabbix_agentd.d/是Linux路径,Windows下Zabbix Agent的配置目录一般是C:\Program Files\Zabbix Agent\zabbix_agentd.d\(按实际安装路径改),把template_db_mysql.conf移到这个正确路径里。 - 验证MySQL连接是否正常:打开CMD执行
mysql -u zbx_monitor -p,输入密码能登录就说明用户权限没问题;登不上就重新给用户授权:GRANT SELECT, PROCESS, SHOW DATABASES, SHOW VIEW ON *.* TO 'zbx_monitor'@'localhost' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES; - 重启Zabbix Agent服务:在Windows服务列表找到
Zabbix Agent,右键重启,让配置生效。 - 查日志找问题:如果还不行,看Zabbix Agent日志(默认
C:\Program Files\Zabbix Agent\logs\zabbix_agentd.log),搜mysql相关内容,确认Agent有没有读到正确的配置文件。
内容的提问来源于stack exchange,提问作者francissoria
相关产品推荐
相关产品推荐

