shell学习二十三--case语句编写mysql启动脚本

六、例子:开发mysql单实例或者多实例启动脚本
已知mysql多实例启动命令为:
mysqld_safe --deafaults-file=/data/3306/my.cnf &
停止命令
mysqladmin -u root -p123 -S /data/3306/mysql.sock shutdown
请完成mysql单实例或者多实例启动脚本编写。
要求:用函数、case语句等实现。
[root@node01 day10]# vi start_db.sh 
#!/bin/sh
# chkconfig: 2345 35 67
# description: start rsync and stop rsync scripts.
. /etc/init.d/functions
path=/usr/bin/
pass=123
user=root
function usage(){
   echo "$0 {start|stop|restart}"
   exit 1
}
[ $# -ne 1 ] && usage
function start_mysql(){
   $path/mysqld_safe --user=mysql >/dev/null 2>&1 &
   if [ $? -eq 0 ]
     then
       action "start mysql" /bin/true
   else
       action "start mysql" /bin/false
   fi
}
function stop_mysql(){
   mysqladmin -u$user -p$pass  shutdown >/dev/null 2>&1
   if [ $? -eq 0 ]
     then
       action "stop mysql" /bin/true
   else
       action "stop mysql" /bin/false
   fi
}
case "$1" in
  start)
        start_mysql
        RETVAL=$?
        ;;
  stop)
        stop_mysql
        RETVAL=$?
        ;;
  restart)
        stop_mysql
        sleep 2
        start_mysql
        RETVAL=$?
        ;;
   *)
    usage
esac

[root@node01 day10]# sh start_db01.sh start
start mysql                                                [  OK  ]
[root@node01 day10]# sh start_db01.sh stop
stop mysql                                                 [  OK  ]
[root@node01 day10]# sh start_db01.sh restart
stop mysql                                                 [FAILED]
start mysql                                                [  OK  ]
[root@node01 day10]# mysql -uroot -p123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值