Mysql判断是否启动脚本

本文介绍了一个用于自动启动MySQL服务的Shell脚本。该脚本通过判断MySQL服务的状态来决定是否需要重启服务,并记录了操作日志。如果MySQL未运行,则尝试启动并验证启动成功。

#!/bin/bash

#By:sadoc.blog.51cto.com


. /etc/rc.d/init.d/functions

MYUSER=root

MYPASS="123456"

MYSOCK=/var/lib/mysql/mysql.sock

MY_START="systemctl start mysqld.service"

LOG_PATH=/tmp/mysql

MY_PATH=/usr/bin/mysql

DAYS=`date +%F`

SECOND=`date +%Y/%m/%d-%H:%M:%S`

STARTING="${LOG_PATH}/start-$DAYS.log"

[ -d $LOG_PATH ] || mkdir -p $LOG_PATH

MY_CMD="$MY_PATH -u$MYUSER -p$MYPASS -S $MYSOCK"

$MY_CMD -e "select version ();" >/dev/null 2>&1

if [ $? -eq 0 ];then

   action "$SECOND----Mysql" /bin/true >>$LOG_PATH/my_status.log

   exit 0

else

  $MY_START >>$STARTING

  sleep 5;

  $MY_CMD -e "select version ();" >/dev/null 2>&1

  if [ $? -ne 0 ];then

   for down in `seq 5`

   do

   systemctl stop mysqld.service >/dev/null 2>&1

   [ $? -ne 0 ] && break;

   sleep 2;

   done

   $MY_START >>$STARTING

   fi

   $MY_CMD -e "select version ();" >/dev/null 2>&1 && Status="restarted" || Status="unkown"

   echo "$SECOND------Mysql status is $Status" >>$LOG_PATH/my_status.log

fi

本文转自  一招拜师  51CTO博客,原文链接:http://blog.51cto.com/sadoc/1919656

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值