• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    老鸟带你开发专业规范的MySQL启动脚本

    每一个合格的Linux运维人员都应该做到熟练或精通Shell脚本编程,因为Shell脚本语言差不多是所有编程语言里最简单的语言,如果Shell脚本不行,意味着运维之路可能还没开始就将要终结。——老男孩老师

    #!/bin/bash
    # chkconfig: 2345 64 36 #配置系统自启动
    # description: A very fast and reliable SQL database engine.
    ##############################################################
    # File Name: mysqld
    # Version: V1.0
    # Author: oldboy
    # Organization: www.oldboyedu.com
    # Created Time : 2018-06-05 08:58:19
    ##############################################################
    #引入系统函数库
    . /etc/init.d/functions
    
    #基础路径定义
    basedir='/application/mysql'
    bindir='/application/mysql/bin'
    lockdir='/var/lock/subsys'                    
    lock_file_path="$lockdir/mysql"
    mysqld_pid_file_path='$basedir/data/`uname -n`.pid'
    
    #成功提示函数
    log_success_msg(){
      #action为特殊的提示函数,$@为所有参数。
      action "SUCCESS! $@" /bin/true
    }
    #失败提示函数
    log_failure_msg(){
      action "ERROR! $@" /bin/false
     }
     
    #mysql启动函数
    start(){
      echo $"Starting MySQL"
      #测试mysqld_safe是否可执行
      if test -x $bindir/mysqld_safe
      then
        #后台执行启动mysql命令
        $bindir/mysqld_safe >/dev/null 
        #获取返回值
        retval=$?
        #判断返回值是否为0
        if [ $retval -eq 0 ]
        then
          #调用成功提示函数。
          log_success_msg "mysql Startup"
          if test -w "$lockdir" #判断锁目录是否可写。
          then
            touch "$lock_file_path" #创建锁文件。
          fi
          return $retval #给返回值是专业的表现。
        else
          log_failure_msg "MySQL Startup" #调用失败函数提示。
          return $retval
        fi
      else
        log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
      fi
    }
    #停止MySQL函数。
    stop(){
      #判断mysql pid file大小是否为0。
      if test -s "$mysqld_pid_file_path"
      then
        #读取pidfile
        mysqld_pid=`cat "$mysqld_pid_file_path"`
        #判断mysql pid对应的进程是否存在。
        if (kill -0 $mysqld_pid 2>/dev/null)
        then
          echo $"Shutting down MySQL"
          kill $mysqld_pid #停止MySQL命令。
          retval=$?
          if [ $retval -eq 0 ]
          then
            log_success_msg "MySQL Stop" #调用停止成功函数。
            if test -f "$lock_file_path"
            then
              rm -f "$lock_file_path" #删除锁文件。
            fi
            return $retval
          else
            log_failure_msg "MySQL Stop."
            return $retval
          fi
        else
          log_failure_msg "MySQL server process mysqld_pid is not running!"
          rm "$mysqld_pid_file_path"
        fi 
      else
        log_failure_msg "MySQL server PID file is null or not exist!"
      fi
    }
    #接收传参判断并执行相应函数。
    case "$1" in
      start)
        start
        retval=$?
        ;;
      stop)
        stop
        retval=$?
        ;;
      restart)
        stop
        sleep 2 #这里很重要,要休息一下。
        start
        retval=$?
        ;;
      *)
        echo $"Usage:$0 {start|stop|restart}"
        exit 2
    esac
    exit $retval  #执行脚本后,有返回值才更专业。
    
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • MySQL 使用规范总结
    • 超详细MySQL使用规范分享
    • MySQL数据库使用规范总结
    • MySQL开发规范与使用技巧总结
    • mysql数据库开发规范【推荐】
    • MySQL数据库命名规范及约定
    • Mysql建表与索引使用规范详解
    • MYSQL 数据库命名与设计规范
    • 专业级的MySQL开发设计规范及SQL编写规范
    上一篇:mysql备份脚本并保留7天
    下一篇:Win7 安装 Mysql 5.6的教程图解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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