늙 은 새 가 전문 규범 의 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  #     ,        。

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기