- 论坛徽章:
- 0
|
谁能帮助分析一下问题阿
08/27/03 09:32:31 (534)[ERROR]The service <mysql>; process fail.
总是有这个报错,而且时间长短部确定,有时候几个月,有时候几小时?
然后就发生了切换!真是FAIT.
Mysql是不是经常会出现mysqld丢掉的现象?
谁能分析一下下面的脚本???mysqld和safe_mysqld有何关系?
#!/bin/sh
# version 0.1
# detect the mysql server
# return 1,2,3... -- server failure
# return 0 -- server OK
PROCESS=safe_mysqld
pre_ID=`ps -ef | grep $PROCESS | sed "/grep/d" | sed "/logger/d" | awk -F" " '{print $2}'`
safe_mysqld_ID=`echo $pre_ID | awk -F" " '{print $1}'`
if [ "EMPTY"$safe_mysqld_ID = "EMPTY" ]
then
echo "1.Cann't found daemon safe_mysqld"
exit 1
fi
pre_ID=`ps -ef | grep $safe_mysqld_ID | sed "/grep/d" | awk -F" " '{if ($3 -eq $safe_mysqld_ID) print $2" "$3}'`
ID1=EMPTY
for tmp_ID in $pre_ID
do
ID2=$tmp_ID
if [ $ID1 = "EMPTY" ]
then
ID1=$ID2
continue
else
if [ $ID2 == $safe_mysqld_ID ]
then
first_ID=$ID1
break
else
ID1=EMPTY
fi
fi
done
if [ "EMPTY"$first_ID = "EMPTY" ]
then
echo "2.Cann't found daemon mysqld"
exit 2
fi
#pre_ID=`ps -ef | grep $first_ID | sed "/grep/d" | awk -F" " '{if ($3 -eq $first_ID) print $2" "$3}'`
#ID1=EMPTY
#for tmp_ID in $pre_ID
#do
# ID2=$tmp_ID
# if [ $ID1 = "EMPTY" ]
# then
# ID1=$ID2
# continue
# else
# if [ $ID2 == $first_ID ]
# then
# second_ID=$ID1
# break
# else
# ID1=EMPTY
# fi
# fi
#done
#if [ "EMPTY"$second_ID = "EMPTY" ]
#then
# echo "3.Cann't found daemon mysqld"
# exit 3
#fi
#pre_ID=`ps -ef | grep $second_ID | sed "/grep/d" | awk -F" " '{if ($3 -eq $second_ID) print $2}'`
#third_ID=`echo $pre_ID | awk -F" " '{print $2}'`
#if [ "EMPTY"$third_ID = "EMPTY" ]
#then
# echo "4.Cann't found daemon mysqld"
# exit 4
#fi
#fouth_ID=`echo $pre_ID | awk -F" " '{print $3}'`
#if [ "EMPTY"$fouth_ID = "EMPTY" ]
#then
# echo "5.Cann't found daemon mysqld"
# exit 5
#fi
#echo $safe_mysqld_ID $first_ID $second_ID $third_ID $fouth_ID
exit 0 |
|