根據工作環境,自訂一個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