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

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

 

1,My.cnf中用户名密码无效

在azure云上面,使用Zabbix监控mysql中,发现在/usr/local/mysql/my.cnf里面设置的默认用户名密码无效,出不来数据,而且在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/my.cnf里面添加所有客户端都可以使用的[client]选项卡配额好mysql的用户名密码

[root@azure_test_dbm2_3_13 mysql]# vim.my.cnf

 

[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地址:http://blog.csdn.net/mchdba/article/details/51344063,谢绝转载。

 

 

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组件识别的my.cnf所在的路径

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

[root@azure_test_dbm2_3_13 mysql]#mysqladmin --help  

……

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

/etc/my.cnf /etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf ~/.my.cnf

……

 

[root@azure_test_dbm2_3_13 mysql]#

 

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

[root@azure_test_dbm2_3_13 mysql]# ll/etc/my.cnf

ls: cannot access /etc/my.cnf: No such fileor directory

[root@azure_test_dbm2_3_13 mysql]# ll/etc/mysql/my.cnf

ls: cannot access /etc/mysql/my.cnf: Nosuch file or directory

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

ls: cannot access/usr/local/mysql/etc/my.cnf: No such file or directory

[root@azure_test_dbm2_3_13 mysql]# ll~/.my.cnf

ls: cannot access /root/.my.cnf: 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/my.cnf,但是mysqladmin不识别了。所以需要安装提示准备一个新的my.cnf吧

 

5,准备新的my.cnf,OK

在mysqladmin识别的my.cnf路径中(/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf )选择一个/usr/local/mysql/etc/my.cnf,然后新建并且在里面录制好用户名密码,然后调试通过

# 在mysql服务器上面准备新的配置文件my.cnf

 

[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/my.cnf

 

 

 

[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/my.cnf                                                                                                                                            

 

 [root@azure_test_dbm2_3_13  mysql]# chmod u+x /usr/local/mysql/etc/my.cnf

 

[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:感谢网友木木指点

参考文章:http://dev.mysql.com/doc/refman/5.6/en/password-security-user.html

 

 

 

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值