mysql未监控在3306_监控MYSQL服务是否异常

问题描述:监控MYSQL服务是否正常启动,如果未正常启动,就启动MYSQL

判断mysql的方法:

1)端口判断[[email protected] ~]# netstat -lntup | grep 3306

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2288/mysqld

2)进程判断[[email protected] ~]# ps -ef | grep mysqld

mysql     2071     1  0 11:32 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr

mysql     2288  2071  0 11:32 ?        00:00:24 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock

root     10097  6962  0 17:27 pts/1    00:00:00 grep --color=auto mysqld

3)返回值判断[[email protected] ~]# mysql -uroot -proot -e "select version();" &>/dev/null

[[email protected] ~]# echo $?

0

法一:实现思路是过滤出MYSQL端口3306进行判断:#!/bin/bash

port=`netstat -lnt|grep 3306|wc-l`

if [ $port -ne 1 ]

then

/etc/init.d/mysql start

else

echo "MySQL is running."

fi

执行结果:

[[email protected] ~]# sh mysql1.sh

MySQL is running.

法二:实现思路是通过MYSQL进程进行判断:#!/bin/bash

portcess=`ps -ef|grep mysql|grep -v grep|wc -l`

if [ $portcess -ne 2 ]

then

/etc/init.d/mysqld start

else

echo "MySQL is running."

fi

执行结果:

[[email protected] ~]# sh mysql1.sh

MySQL is running.

注意:过滤的字符串‘mysql’不要在脚本名字出现,如果出现则不准

法三:实现思路是通过web连接返回值判断:#!/bin/bash

mysql -uroot -proot -e "select version();" &>/dev/null

if [ $? -ne 0 ]

then

/etc/init.d/mysqld start

else

echo "MySQL is running."

fi

执行结果:

[[email protected] ~]# sh mysql1.sh

MySQL is running.

小结:web服务监控手段:端口(本地或者远程)

本地进程

header(httpd code)

URL(wget,curl

原文:http://baishuchao.blog.51cto.com/12918589/1942148

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值