开发MySQL专业启动脚本―生产场景

开发MySQL专业启动脚本

1、MySQL启动原理

1.1 已知mysql多实例启动命令为:

/application/mysql/bin/mysqld_safe --default-file=/data/3306/my.cnf &

###命令路径是编译安装时的路径

1.2 mysql多实例停止命令为:

/application/mysql/bin/mysqladmin -uroot -p123 -S /data/3306/mysql.sock shutdown

###命令路径是编译安装时的路径

使用函数、case语句、if语句等实现。

2、编写脚本

2.1 编写启动、停止脚本

[root@web02 oldboy20160103]# cat oldboy09_01.sh             

#!/bin/sh

[ -f /etc/init.d/functions ] && source/etc/init.d/functions

BAKPath=/server/backup

MYUSER=root

MYPASS=123

SOCKET=/data/3306/mysql.sock

MYCMD="mysql -u$MYUSER -p$MYPASS -S$SOCKET"

MYADMIN="/application/mysql/bin/mysqladmin-uroot -p123 -S /data/3306/mysql.sock"

judge(){

  RETVAL=$?

  sleep 2

  if [$RETVAL -eq 0 ];then

     action"$1 mysql" /bin/true

   else

     action"$1 mysql" /bin/true

  fi

  return$RETVAL

}

start(){

 /application/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf2>&1 > /dev/null &

  judge start

}

stop(){

  $MYADMINshutdown 2>&1 > /dev/null

  judge stop

}

case "$1" in

    start)

       start

       ;;

    stop)

       stop

       ;;

    restart)

       stop

       start

       ;;

    *)

       echo${USAGE:$0{start|stop|restart}}

       exit$RETVAL

esac


2.2 启动mysql服务脚本

[root@web02 oldboy20160103]# netstat -lunpt |grep33

tcp   0      0 0.0.0.0:3307      0.0.0.0:*         LISTEN      15027/mysqld

[root@web02 oldboy20160103]# /data/3306/my start

start mysql                                               [  OK  ]

[root@web02 oldboy20160103]# netstat -lunpt |grep33

tcp       0       0 0.0.0.0:3306     0.0.0.0:*  LISTEN      38464/mysqld

tcp        0      00.0.0.0:3307      0.0.0.0:*  LISTEN     15027/mysqld

[root@web02 oldboy20160103]#

 

2.3 停止mysql服务脚本

[root@web02 oldboy20160103]# /data/3306/my stop

stop mysql                                                [  OK  ]

[root@web02 oldboy20160103]# netstat -lunpt |grep33

tcp       0      0 0.0.0.0:3307     0.0.0.0:*    LISTEN     15027/mysqld

 

2.4 重启mysql服务脚本

[root@web02 oldboy20160103]# /data/3306/my start

start mysql                                               [  OK  ]

[root@web02 oldboy20160103]# /data/3306/my restart

stop mysql                                                [  OK  ]

start mysql                                               [  OK  ]

[root@web02 oldboy20160103]# netstat -lunpt |grep33

tcp       0      0 0.0.0.0:3306       0.0.0.0:*       LISTEN      39990/mysqld

tcp       0      0 0.0.0.0:3307        0.0.0.0:*      LISTEN      15027/mysqld

以上命令仅供参考:如有好的方法、不足可以一起交流。O(∩_∩)O~~

你可能感兴趣的:(mysql,启动脚本,实例服务)