#1.变量初始化
#--------------------------------------------------------------------------------------------------------------------------------
basedir=
datadir=
service_startup_timeout=900
pid_file=
server_pid_file=
use_mysqld_safe=1
user=mysql
if test -z "$basedir"
then
basedir=/usr/local/mysql
bindir=./bin
if test -z "$datadir"
then
datadir=/usr/local/mysql/data
fi
sbindir=./bin
libexecdir=./bin
else
bindir="$basedir/bin"
if test -z
"$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
datadir_set=
#-----------------------------------------------------------------------------------------------------------------------
#2.函数定义
#--------------------------------------------------------------------------------------------------------------------------
lsb_functions="/lib/lsb/init-functions #" 这是一个linux系统脚本,包含一些打印log函数"
if
test -f $lsb_functions ; then
. $lsb_functions
#如果存在改文件,将这些函数导入到该脚本,使其可以使用
else #否则自定义函数
log_success_msg()
{
echo " SUCCESS! $@"
}
log_failure_msg()
{
echo " ERROR! $@"
}
fi
PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
export PATH
mode=$1 # start or stop mysql.server 脚本的输入参数
shift
将$1删除
other_args="$*" 将$2,... $n 赋值给other_args
#系统对echo c 和 echo -n 的结果
#--------------------------------------------------------------
case `echo "testing\c"`,`echo -n testing` in
*c*,-n*) echo_n=
echo_c= ;;
*c*,*) echo_n=-n echo_c= ;;
*)
echo_n= echo_c='\c' ;;
esac
#-------------------------------------------------------
#该函数将my_print_defaults 命令分析出得参数赋值给相应的变量
#----------------------------------------------------------------------
parse_server_arguments() {
for arg do
case "$arg" in
--basedir=*) basedir=`echo "$arg" | sed -e
's/^[^=]*=//'`
bindir="$basedir/bin"
if test -z
"$datadir_set"; then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexe