開發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~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章