mysql --show-warnings=false_如何解决zabbix中自定义监控mysql因密码造成的 Warning

1.--show-warnings=false

在指定mysql命令获取参数时,指定不获取 Warning。不过亲测这个方法不是很有效

例如:

mysql -uroot -p123 --show-warnings=false -Ne "show variables like 'innodb_buffer_pool_size';" 2>/dev/null

2、在mysql的配置文件 /etc/my.cnf 中指定登录的用户名、密码等信息

添加上如下信息:

[client]

user=zabbix

password=123host=localhost

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

[mysqladmin]

user=zabbix

password=123host=localhost

指定的值要根据自己的情况而定

为了安全起见,建议不要使用root和其他高权限的用户登录。我们可以在mysql数据库中创建一个zabbix用户,仅供zabbix获取参数使用,不需要给它增加权限,所以不会造成事故。

3、上述第二中情况下,修改配置文件需要重启mysql 服务才能生效,在实际的生产过程中可能不允许重启mysql。

为了解决这个问题,还可以在执行一个目录,在这个目录中创建一个 .my.cnf 隐藏文件,添加和上述 2中相同的内容。目录可以随意指定,建议指定的zabbix配置文件中。这里我放到了/usr/local/zabbix-agent/etc目录下

然后,执行mysql命令时在命令前面加上 HOME=/usr/local/zabbix-agent/etc/ 这个执行时就会读取这个目录下的配置文件

例如:

HOME=/usr/local/zabbix-agent/etc/ mysql -e "show variables like 'innodb_buffer_pool_size';"|grep -v Value |awk '{print$2}'

这样就不会出现因密码问题造成的 Warning了。

另外,如果出现通过sock文件无法连接的情况,可以不通过sock文件连接,而是通过TCP/IP 连接,在命令后面指定 -h 127.0.0.1

原文出处:https://www.cnblogs.com/cmgg/p/10828438.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值