赞
踩
- [root@mysql-112 conf]# mysql -uroot -p'LXYlxy2:024.#8u}' -e "show slave status\G" | grep -w Slave_IO_Running | awk '{print $2}'
- mysql: [Warning] Using a password on the command line interface can be insecure.
- Yes
这里出现要截取字段,还会出现警告 ,忽略报警的做法有以下两种
方法一:参考 优秀文档
方法二:在命令行中直接传递密码会导致密码暴露于命令历史或进程列表中,因此MySQL客户端会发出警告。为了避免这种情况,你可以将密码存储在配置文件中,并使用--defaults-extra-file
选项来指定该配置文件。
- 1.创建一个MySQL配置文件,比如mysql.cnf,内容如下:
-
- [client]
- user=root
- password='LXYlxy2:024.#8u}'
-
- 2.修改你的命令,使用--defaults-extra-file选项来指定配置文件:
- mysql --defaults-extra-file=mysql.cnf -e "show slave status\G" | grep -w Slave_IO_Running | awk '{print $2}'
- #!/bin/bash
- # 用于检测主从
- slave_IO=`mysql --defaults-extra-file=/data/mysql/conf/mysql.cnf -e "show slave status\G" | grep -w Slave_IO_Running | awk '{print $2}'`
- slave_SQL=`mysql --defaults-extra-file=/data/mysql/conf/mysql.cnf -e "show slave status\G" | grep -w Slave_SQL_Running | awk '{print $2}'`
- if [ $slave_IO == "Yes" -a $slave_SQL == "Yes" ];then
- echo 1
- else
- echo 0
- fi
会出现zabbix-get报错,请参考前面几篇报错文章如何解决
其余的参考 优秀文档
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。