MySQL多实例启动脚本

知识来源https://www.oldboyedu.com/


[root@db01 ~]#cat /data/3306/mysqld

#!/bin/bash

#

# Define variables

RETVAL=0

Port=3306

User=root

Pass=chenliang

Pid=/data/3306/mysql.pid

Sock=/data/3306/mysql.sock

My=/data/3306/my.cnf

Path=/apps/mysql-5.7.23/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 [3306]" /bin/true

             else

              action "Start MySQL [3306]" /bin/false

       fi

         else

          echo "MySQL 3306 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[3306]" /bin/true

         else

          action "Stop MySQL[3306]" /bin/false

       fi          

      else

       echo "MySQL [3306] is not running"

       exit 1

    fi

    return $RETVAL

}

 

status(){

    if [ -f "$Pid" ];then

       echo "MySQL [3306] is running"

      else

       echo "MySQL [3306] 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

猜你喜欢

转载自blog.51cto.com/11576296/2298742