首页 > 数据库技术 > 详细

zabbix_get 获取agnet端mysql数据失败

时间:2019-05-05 21:20:09      阅读:224      评论:0      收藏:0      [点我收藏+]

问题

在使用zabbix_get获取agent端的mysql数据时,总是报错,ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/usr/local/mysql/data/mysql.sock‘ (13)。

技术分享图片

通过亲身实践,我认为是zabbix_get 远程控制 agent端,通过zabbix用户执行命令或者脚本。我将Linux用户从root切换到 zabbix,登录mysql时发现指定sock文件的位置也登陆不了mysql,而且报错也是和zabbix_get的一样。

这说明可能是 zabbix用户权限不足导致的问题。

为了验证是因为权限不足引起的这个问题,我将mysql相关的文件和目录权限改成了 777,结果在zabbix下登录成功,而且zabbix_get 也能正确的返回结果了。由于时间原因,没有具体验证到低是哪个文件的权限问题造成的失败。

据我推测,可能是 zabbix用户在 sock文件上的权限不足造成的。

 

解决方式:

1、增加zabbix用户的权限,让zabbix能够使用 sock等mysql相关文件

2、不通过sock文件(localhost)登录mysql,而是通过本地回环的方式,指定 -h 127.0.0.1 登录mysql,也是可以的。

另外,在网上还看到有说是mysql 设置的安全插件(plugin)问题。

技术分享图片

select user,host,plugin from mysql.user;

可能是plugin设置的有问题,将原来的 值 auto_sock 改成 mysql_native_password,本人没有试过,不知道是不是有这个原因。

 

zabbix_get 获取agnet端mysql数据失败

原文:https://www.cnblogs.com/cmgg/p/10816252.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!