實戰:自訂指令碼關閉mysql-mysql 5.6.19

來源:互聯網
上載者:User

根據工作環境,自訂一個mysql關閉指令碼

 

---1.儲存為/usr/local/mysql/scripts/mysql_env.ini

#set mysql init variables
MYSQL_USER=system  #mysql的使用者名稱
MYSQL_PASS='password'  #mysql的登入使用者密碼

#check input parameter or no
if [ $# -ne 1 ] ; then     #判斷輸入的參數個數
 echo "mysql port is 3306"
 MYSQL_PORT=3306
else
 MYSQL_PORT=$1    #$1是傳入的第1個位置參數
 echo "mysql port is $1"

fi

 

---2.關閉mysql

 

#!/bin/sh
#ocpyang@126.com

source /usr/local/mysql/scripts/mysql_env.ini

MY_CNF=/usr/local/mysql/my.cnf #mysql的設定檔

MYSQLD_ADMIN=/usr/local/mysql/bin/mysqladmin

MYSQL_SOCKET=/usr/local/mysql/mysql.sock

MYSQL_CMD="${MYSQLD_ADMIN} -u${MYSQL_USER} -p${MYSQL_PASS} -S ${MYSQL_SOCKET}"

ERRORLOG=`grep -i "^log-error" $MY_CNF |cut -d = -f 2`

INIT_NUM=1

PORTNUM=`netstat -lnt|grep ${MYSQL_PORT}|wc -l`

if [ ! -x $MYSQLD_ADMIN ]; then
  echo "mysql安裝時開機檔案未安裝到$MYSQLD_ADMIN或無執行許可權"
  exit 0
elif [ $PORTNUM = 0  ] ;then
echo "mysql處於關閉狀態,無須關閉!"
exit 0
else
 echo "關閉mysql服務" 
 ${MYSQL_CMD} shutdown
 while  [ $INIT_NUM  -le 5 ]
 do
 PORTNUM=`netstat -lnt|grep ${MYSQL_PORT}|wc -l`
 echo "mysql關閉中....請稍等..."
 sleep 5
  if [ $PORTNUM = 0  ];
  then
   echo "mysql                                      ****關閉成功****"
  exit 0
  fi
 
 INIT_NUM=$(($INIT_NUM +1))
 done
   echo -e "mysql關閉失敗,請檢查錯誤記錄檔`echo 'cat ' ${ERRORLOG}`"
 echo "*****************************************"
 exit 0
fi

 

 

 

 

---3.加入環境變數即可

 

echo "export PATH=/usr/local/mysql/scripts:\$PATH">>~/.bash_profile


source ~/.bash_profile

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.