六、例子:开发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>
已知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>