首页 > 代码库 > 多实例MySQL启动脚本
多实例MySQL启动脚本
开发mysql多实例启动脚本:
已知mysql多实例启动命令为:mysqld_safe–defaults-file=/data/3306/my.cnf &
停止命令为:mysqladmin -u root -p123456 -S /data/3306/mysql.sock shutdown
要求:用函数,case语句、if语句等实现。
1 #!/bin/sh 2 [ -f /etc/init.d/functions ]&&. /etc/init.d/functions||exit 3 #Define Variables 4 Port=$1 5 Mysql_user=root 6 Mysql_sock=/data/${Port}/mysql.sock 7 Path=/application/mysql/bin 8 RETVAL=0 9 #Define Start Function 10 start() { 11 if [ ! -e "$Mysql_sock" ];then 12 /bin/sh $Path/mysqld_safe --defaults-file=/data/${Port}/my.cnf 2>&1 >/dev/null & 13 RETVAL=$? 14 if [ $RETVAL -eq 0 ];then 15 action "Starting $Port MySQL..." /bin/true 16 else 17 action "Starting $Port MySQL..." /bin/false 18 fi 19 else 20 echo "$Port MySQL is Running..." 21 fi 22 return $RETVAL 23 } 24 25 #Define Stop Function 26 stop() { 27 if [ ! -e "$Mysql_sock" ];then 28 echo "$Port MySQL is Stopped..." 29 else 30 read -p "Please Input $Port MySQL Password:" PWD 31 Mysql_pwd=$PWD 32 $Path/mysqladmin -u ${Mysql_user} -p${Mysql_pwd} -S /data/${Port}/mysql.sock shutdown 33 RETVAL=$? 34 if [ $RETVAL -eq 0 ];then 35 action "Stopping $Port MySQL..." /bin/true 36 else 37 action "Stopping $Port MySQL..." /bin/false 38 fi 39 fi 40 return $RETVAL 41 } 42 43 case "$2" in 44 start) 45 start 46 RETVAL=$? 47 ;; 48 stop) 49 stop 50 RETVAL=$? 51 ;; 52 restart) 53 stop 54 sleep 3 55 start 56 RETVAL=$? 57 ;; 58 *) 59 echo -e "USAGE:$0 {3306|3307|3308} {start|stop|restart}" 60 RETVAL=2 61 ;; 62 esac 63 exit $RETVAL
多实例MySQL启动脚本
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。