通过脚本监控MySQL是否正常启动

关闭MySQL服务(也可以用systemctl命令关闭)

killall mysqld

systemctl start mysqld

看MySQL服务是否正常的两种方法

ps -ef | grep mysql

netstat -an | grep 3306

也可以通过登录MySQL账号

mysql -uroot -p密码 -e “select now()”判断$?是否为0,不为0启动服务

登录进去最准确,不过涉及密码保密问题

输出当前目录下的文件名及内容:

for i in ls ./;do echo "#########$i";cat $i;done

详细脚本:

第一种 根据mysql的端口号筛选出端口

#!/bin/bash
port =`netstat -an | grep 3306 | awk -F '[ :]+' '{ print$4}'` #[ :]+这个是正则表达式,+表示一个或多个,这里就表示一个或多个空格或冒号
if [ $port != '3306' ] ; then #不要用整数判断,要用字符串
`systemctl start mysqld`
fi

第二种 根据MySQL的端口号

#!/bin/bash
port= `netstat -an | grep 3306 | wc -l` #统计有无3306这个进程
if [ $port -ne 1 ]; then
`systemctl start mysqld`
fi


第三种根据MySQL的进程

#!/bin/bash
port=`ps -ef | grep mysql | grep -v grep | wc -l`
if [ $port -ne 2 ]; then
`systemctl start mysqld`
else
echo "mysql is already running"
fi

第四种(结合使用)

#! /bin/bash

db_process=`netstat -an| grep 3306 | wc -l`
db_port=`ps -ef | grep mysql | grep -v grep | wc -l`

if [ $db_port -eq 1 ] && [ $db_process -eq 1 ]
then
echo "mysql is already running"
else
`systemctl start mysqld`
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值