千家信息网

多实例MySQL启动脚本

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,开发mysql多实例启动脚本:已知mysql多实例启动命令为:mysqld_safe-defaults-file=/data/3306/my.cnf &停止命令为:mysqladmin -u root
千家信息网最后更新 2024年12月12日多实例MySQL启动脚本

开发mysql多实例启动脚本:

已知mysql多实例启动命令为:mysqld_safe-defaults-file=/data/3306/my.cnf &

停止命令为:mysqladmin -u root -p123456 -S /data/3306/mysql.sock shutdown

要求:用函数,case语句、if语句等实现。

#!/bin/sh[ -f /etc/init.d/functions ]&&. /etc/init.d/functions||exit#Define VariablesPort=$1Mysql_user=rootMysql_sock=/data/${Port}/mysql.sockPath=/application/mysql/binRETVAL=0#Define Start Functionstart() {  if [ ! -e "$Mysql_sock" ];then    /bin/sh $Path/mysqld_safe --defaults-file=/data/${Port}/my.cnf 2>&1 >/dev/null &    RETVAL=$?    if [ $RETVAL -eq 0 ];then        action "Starting $Port MySQL..." /bin/true      else        action "Starting $Port MySQL..." /bin/false    fi    else      echo "$Port MySQL is Running..."  fi  return $RETVAL}#Define Stop Functionstop() {  if [ ! -e "$Mysql_sock" ];then      echo "$Port MySQL is Stopped..."    else      read -p "Please Input $Port MySQL Password:" PWD      Mysql_pwd=$PWD      $Path/mysqladmin -u ${Mysql_user} -p${Mysql_pwd} -S /data/${Port}/mysql.sock shutdown      RETVAL=$?      if [ $RETVAL -eq 0 ];then        action "Stopping $Port MySQL..." /bin/true      else        action "Stopping $Port MySQL..." /bin/false      fi  fi  return $RETVAL}case "$2" in  start)        start        RETVAL=$?        ;;  stop)        stop        RETVAL=$?        ;;  restart)        stop        sleep 3        start        RETVAL=$?        ;;  *)        echo -e "USAGE:$0 {3306|3307|3308} {start|stop|restart}"        RETVAL=2        ;;esacexit $RETVAL


0