方法一:
首先我们检测3306端口,然后用awk命令获取到3306这个字符串(awk命令明哥已经整理)
缺点:此处是本地监控,端口在,但是服务可能不正常(高负载,高cpu,连接数满了)


这里我们显示一下shell脚本的执行过程

利用awk获取字符串再与3306比较,这种方式相对比较僵硬,我们还可以利用wc -l 命令来统计行数

方法二:
如果mysql的进程和端口同时存在,我们则默认mysql服务正常
grep -v 显示不包含匹配文本的所有行(因为grep进程也会统计在内,排除掉),正常来说mysql正常启动会有1个端口2个进程,我们可以通过判断这两个数字来进行验证mysql是否正常启动
缺点:此处是本地监控,端口在,但是服务可能不正常(高负载,高cpu,连接数满了)


方法三:
我们可以创建一个临时账号,使用临时账号登录mysql,然后判断该命令是否执行成功(我们启动mysql的时候可以使用 [ -x ] 来判断当前用户是否可执行 )
缺点:必须要有mysql的账号密码,主机的授权,以及mysql客户端

方法四:
使用php/java脚本来进行判断
优点:最接近用户真实访问

网友评论