您的位置:首页 > 运维架构 > Shell

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

2017-11-21 21:11 726 查看
六、例子:开发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> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: