mysql 多实例 启动脚本_多实例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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值