mysql上线脚本规范_老鸟带你开发专业规范的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启动脚本

本文地址: http://www.cppcns.com/shujuku/mysql/276514.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值