多实例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 Variables
Port=$1
Mysql_user=root
Mysql_sock=/data/${Port}/mysql.sock
Path=/application/mysql/bin
RETVAL=0
#Define Start Function
start() {
  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 Function
stop() {
  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
        ;;
esac
exit $RETVAL
时间: 2024-10-10 22:15:53

多实例MySQL启动脚本的相关文章

企业级通过shell脚本开发MySQL启动脚本 案例

企业Shell面试题10:开发MySQL启动脚本说明MySQL启动命令为:/bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 > /dev/null &停止命令为:mysqld_pid=`cat "$mysqld_pid_file_path"`if (kill -0 $mysqld_pid 2>/dev/null)  then    kill $mysqld_pid    sleep 2f

MySQL启动脚本

今天在公司,上午搞了一个小时,MySQL单实例启动脚本搞定. [[email protected] scripts]# cat test3.sh  #!/bin/bash RETVAL=0 . /etc/init.d/functions basedir=/application/mysql-5.5.32/bin datadir=/application/mysql-5.5.32/data PSD=123.com   hostname=`hostname` menu(){ cat <<END =

mysql启动脚本详解

1 #!/bin/sh 2 # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB 3 # This file is public domain and comes with NO WARRANTY of any kind 4 5 # MySQL daemon start/stop script. 6 7 # Usually this is put in /etc/init.d (at lea

老鸟带你开发专业规范的MySQL启动脚本

每一个合格的Linux运维人员都应该做到熟练或精通Shell脚本编程,因为Shell脚本语言差不多是所有编程语言里最简单的语言,如果Shell脚本不行,意味着运维之路可能还没开始就将要终结.--老男孩老师 #!/bin/bash # chkconfig: 2345 64 36 #配置系统自启动 # description: A very fast and reliable SQL database engine. #########################################

tomcat多实例方案启动脚本

批量启动 #!/bin/sh BASE_PATH="/usr/local/tomcat8/tomcat-ins/"bash $BASE_PATH/web1/tomcat.sh start&&bash $BASE_PATH/web2/tomcat.sh start&&bash $BASE_PATH/web3/tomcat.sh start 批量停止 #!/bin/bash BASE_PATH="/usr/local/tomcat8/tomcat-

Linux/UNIX环境下Oracle数据库多实例开机启动脚本(转)

操作系统平台:RHEL 5Shell环境:BashOracle:10g2 功能描述:开机时自动切换到oracle用户下,启动oracle的多个实例.并记录数据库的启动情况到自定义的日志文件中. #!/bin/bash LOG_PATH=$HOME/oracle_initing.loglog() {if [ $# -lt 1 -a $# -gt 1 ];thenexit 5ficase "[email protected]" insuccess) echo `date +%b"

一台服务器上多tomcat实例的启动脚本

公司有一台服务器起了多个tomcat,每次需要重启,查看catalina.out输出都特别麻烦,写了一个脚本,贴出来,希望有经验的前辈指点一二,脚本如下: #!/bin/sh echo "请选择要操作的tomcat实例:" echo "1 : tomcat" echo "2 : tomcat2" echo "3 : tomcat_errorQues" tomcatid=`ps aux | grep java | grep -v

mysql,mairadb启动脚本

# mysql 启动脚本,一直使用mariadb,data目录一直不对,启动一直出错,自己编写的一个小脚本 # 适用于el6 systemd脚本  如果用ansible 使用service启动会报错,可以将service定义成脚本然后再使用ansible启动服务 #!/bin/bash # MySQL daemon start/stop script. #   Name:mysql 启动脚本 #   Version Number:1.0.5 #   Type:检测服务状态 #   Languag

通过Shell开发企业级标准服务启动脚本案例(MySQL)

老男孩教育Linux高端运维班Shell课后必会考试题: 企业Shell面试题10:开发企业级MySQL启动脚本 说明: MySQL启动命令为: /bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >/dev/null & 停止命令逻辑脚本为: mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/n