利用Shell开发MySQL的启动脚本

MySQL实例的部署情况:

01:MySQL程序的安装目录为:/mysql/apps/mysql
02:MySQL实例3306的配置文件为:/mysql/mysql/3306/my.cnf
03:MySQL实例3306的PID文件为:/mysql/mysql/3306/mysql.pid
04:MySQL实例3306的socket文件为:/mysql/mysql/3306/mysql.sock

脚本内容如下所示:

#!/bin/bash
#
#
# Define variables
RETVAL=0
Port=3306
User=root
Pass=chenliang
Pid=/mysql/data/$Port/mysql.pid
Sock=/mysql/data/$Port/mysql.sock
My=/mysql/data/$Port/my.cnf
Path=/mysql/apps/mysql/bin

# Determine the user to execute
if [ $UID -ne $RETVAL ];then
    echo "Must be root to run scripts"
    exit 1
fi

# Load the local functions
[ -f /etc/init.d/functions ] && source /etc/init.d/functions

# Define functions
start(){
        if [ ! -f "$Pid" ];then
           $Path/mysqld_safe --defaults-file=$My >/dev/null 2>&1 &
           RETVAL=$?
           if [ $RETVAL -eq 0 ];then
              action "Start MySQL [$Port]" /bin/true
             else
              action "Start MySQL [$Port]" /bin/false
           fi
          else
           echo "MySQL $Port is running"
           exit 1
       fi
       return $RETVAL
}

stop(){
        if [ -f "$Pid" ];then
           $Path/mysqladmin -u$User -p$Pass -S $Sock shutdown >/dev/null 2>&1
           RETVAL=$?
           if [ $RETVAL -eq 0 ];then
              action "Stop MySQL[$Port]" /bin/true
             else
              action "Stop MySQL[$Port]" /bin/false
           fi
         else
           echo "MySQL [$Port] is not running"
           exit 1
        fi
        return $RETVAL
}

status(){
        if [ -f "$Pid" ];then
            echo "MySQL [$Port] is running"
           else
            echo "MySQL [$Port] is not running"
        fi
        return $RETVAL
}

# Case call functions
case "$1" in
  start)
        start
        RETVAL=$?
        ;;
  stop)
        stop
        RETVAL=$?
        ;;
  restart)
        stop
        sleep 5
        start
        RETVAL=$?
        ;;
  status)
        status
        RETVAL=$?
        ;;
  *)
        echo "USAGE:$0{start|stop|restart|status}"
        exit 1
esac

# Scripts return values
exit $RETVAL

 

转载于:https://www.cnblogs.com/chenliangc/articles/11106905.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值