zabbix 创建mysql用户名密码_zabbix3.0 监控mysql服务免用户名密码登录的问题故障处理详细过程...

本文详细记录了解决Zabbix 3.0监控MySQL服务时,由于用户名密码无效导致无法正常获取数据的过程。问题在于Zabbix_get连接失败,尝试修改配置文件并重启MySQL服务后,成功实现远程监控。
摘要由CSDN通过智能技术生成

1,f中用户名密码无效

在azure云上面,使用Zabbix监控mysql中,发现在/usr/local/mysql/f里面设置的默认用户名密码无效,出不来数据,而且在zabbix服务器上,使用zabbix_get也报错failed,如下

[root@zabbix_serv_121_12 ~]#/usr/local/zabbix/bin/zabbix_get -s 192.168.13.13 -p10050 -kmysql.status[Uptime]

/usr/local/mysql/bin/mysqladmin: connect toserver at 'localhost' failed

error: 'Access denied for user'adminuser'@'localhost' (using password: NO)'

[root@zabbix_serv_121_12 ~]#

2,尝试[client]无效

在/usr/local/mysql/f里面添加所有客户端都可以使用的[client]选项卡配额好mysql的用户名密码

[root@azure_test_dbm2_3_13 mysql]# vim.f

[client]

MYSQL_USER=zabbix

password=ys_test0418

再去zabbix服务器上,使用get来测试下,

[root@zabbix_serv_121_12 ~]#

[root@zabbix_serv_121_12 ~]#/usr/local/zabbix/bin/zabbix_get -s 192.168.13.13 -p10050 -kmysql.status[Uptime]

/usr/local/mysql/bin/mysqladmin: connect toserver at 'l27.0.0.1' failed

error: 'Unknown MySQL server host 'l27.0.0.1'(0)'

Check that mysqld is running on l27.0.0.1and that the port is 3317.

You can check this by doing 'telnetl27.0.0.1 3317'

[root@zabbix_serv_121_12 ~]#

本文章来源blog地址:外链网址已屏蔽,谢绝转载。

3,继续尝试mysqladmin本地调试一下

Zabbix监控mysql是通过远程调用mysql服务器的本地的mysqladmin组件来获取mysql数据库信息的,这样只要在本地mysql服务器调试通过了,那么就应ok了。先在本地免密码登录调试通过吧。

尝试本地mysqladmin,无效:

[root@azure_test_dbm2_3_13 zabbix]#/usr/local/mysql/bin/mysqladmin -hl27.0.0.1 -uzabbix -pys_test0418 -P3317 -S/usr/local/mysql/mysql.sock extended-status grep -w Com_update

Warning: Using a password on the commandline interface can be insecure.

Got error: Unknown MySQL server host'l27.0.0.1' (0)

尝试本地mysql,无效:

[root@azure_test_dbm2_3_13 zabbix]#/usr/local/mysql/bin/mysql -hl27.0.0.1 -uzabbix -pys_test0418 -P3317

Warning: Using a password on the commandline interface can be insecure.

ERROR 2005 (HY000): Unknown MySQL serverhost 'l27.0.0.1' (0)

[root@azure_test_dbm2_3_13 zabbix]# mysql-hl27.0.0.1 -uzabbix -pys_test0418 -P3317

Warning: Using a password on the commandline interface can be insecure.

ERROR 2005 (HY000): Unknown MySQL server host'l27.0.0.1' (0)

[root@azure_test_dbm2_3_13 zabbix]#mysql  -uzabbix -pys_test0418 -P3317

Warning: Using a password on the commandline interface can be insecure.

ERROR 1045 (28000): Access denied for user'zabbix'@'localhost' (using password: YES)

[root@azure_test_dbm2_3_13 zabbix]#

问题在哪里呢?

4,找到mysql组件识别的f所在的路径

看来默认的/usr/local/mysql/f里面的配置对于登录来说无效了,那么我们需要去看下mysqladmin识别哪些f以及他们的路径地址:

[root@azure_test_dbm2_3_13 mysql]#mysqladmin --help

……

Default options are read from the followingfiles in the given order:

/etc/f /etc/mysql/f/usr/local/mysql/etc/f ~/.f

……

[root@azure_test_dbm2_3_13 mysql]#

再ll下看是否能找到这些配置文件:

[root@azure_test_dbm2_3_13 mysql]# ll/etc/f

ls: cannot access /etc/f: No such fileor directory

[root@azure_test_dbm2_3_13 mysql]# ll/etc/mysql/f

ls: cannot access /etc/mysql/f: Nosuch file or directory

[root@azure_test_dbm2_3_13 mysql]# ll/usr/local/mysql/etc/f

ls: cannot access/usr/local/mysql/etc/f: No such file or directory

[root@azure_test_dbm2_3_13 mysql]# ll~/.f

ls: cannot access /root/.f: No suchfile or directory

[root@azure_test_dbm2_3_13 mysql]# ll/usr/local/mysql/etc

ls: cannot access /usr/local/mysql/etc: Nosuch file or directory

[root@azure_test_dbm2_3_13 mysql]#

一个也没用找到,原来我的mysql是源码编译的,编译路径是在/usr/local/mysql/f,但是mysqladmin不识别了。所以需要安装提示准备一个新的f吧

5,准备新的f,OK

在mysqladmin识别的f路径中(/etc/f /etc/mysql/f /usr/local/mysql/etc/f ~/.f )选择一个/usr/local/mysql/etc/f,然后新建并且在里面录制好用户名密码,然后调试通过# 在mysql服务器上面准备新的配置文件f

[root@azure_test_dbm2_3_13 mysql]# mkdir /usr/local/mysql/etc

[root@azure_test_dbm2_3_13 mysql]#

[root@azure_test_dbm2_3_13 mysql]# vim /usr/local/mysql/etc/f

[mysqladmin]

user=zabbix

password=ys_test0418

socket=/usr/local/mysql/mysql.sock

# 赋予mysql用户访问权限

[root@azure_test_dbm2_3_13 mysql]# chown -R mysql.mysql /usr/local/mysql/etc/f

[root@azure_test_dbm2_3_13 mysql]# chmod u+x /usr/local/mysql/etc/f

[root@azure_test_dbm2_3_13 mysql]#

# 重启下,因为我发现不重启的话,不生效

[root@azure_test_dbm2_3_13 mysql]# service mysql restart

Shutting down MySQL.                                       [  OK  ]

Starting MySQL..                                          [  OK  ]

[root@azure_test_dbm2_3_13 mysql]#

然后去zabbix服务器上验证,可以获取到mysql服务器的数据信息:[root@zabbix_test_121_12 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.13.13 -p10050 -k mysql.status[Uptime]

154408

[root@zabbix_test_121_12 ~]#

Bty:感谢网友木木指点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值