標籤:監控mysql
判斷mysql是否正常的幾種方法
#################################
方法1:看連接埠
netstat -lntup|grep 3306|wc -l
lsof -i :3306 |wc -l
遠程:
/telnet/nc/nmap
#################################
方法2:看進程
ps -ef |grep mysqld|wc -l
#################################
方法3:進入mysql 看版本
[[email protected] ~]# mysql -uroot -e "select version();"
+-----------+
| version() |
+-----------+
| 5.1.72 |
+-----------+
[[email protected] ~]# echo $?
0
[[email protected] ~]#
mysql -uroot -e "select version();" &>1 >> /dev/null ; echo $?
#################################
方法4:讓開發寫java或者php等程式監控
#################################
方法5:使用上面4中監控方法的組合
######################################
######################################
指令碼1
[[email protected] script]# cat mysqlif.sh
#!/bin/sh
port=`netstat -lnt|grep 3306|wc -l`
if [ $port -ne 1 ]
then
echo "MySQL isn‘t running."
/etc/init.d/mysqld start
echo "MySQL is running."
else
echo "MySQL is running."
fi
[[email protected] script]#
######################################
######################################
指令碼2
[[email protected] script]# cat mysqlif.sh
#!/bin/sh
#port=`netstat -lnt|grep 3306|wc -l`
proc=`ps -ef |grep mysqld|grep -v grep |wc -l`
if [ $proc -lt 1 ]
then
echo "MySQL isn‘t running."
/etc/init.d/mysqld start
echo "MySQL is running."
else
echo "MySQL is running."
fi
[[email protected] script]#
######################################
######################################
指令碼3 推薦方法
[[email protected] script]# cat mysqlif.sh
#!/bin/sh
#port=`netstat -lnt|grep 3306|wc -l`
#proc=`ps -ef |grep mysqld|grep -v grep |wc -l`
mysql -uroot -e "select version();" &>1 >> /dev/null
#mysql -uroot -ppassword -e "select version();" &>1 >> /dev/null
num=`echo $?`
if [ $num -ne 0 ]
then
echo "MySQL isn‘t running."
/etc/init.d/mysqld start
echo "MySQL is running."
else
echo "MySQL is running."
fi
[[email protected] script]#
######################################
######################################
指令碼4
[[email protected] script]# cat mysqlif.sh
#!/bin/sh
pidfile=/application/mysql5.1.72/data/LAMP.pid
mysql_path=/application/mysql5.1.72/bin
datadir=/application/mysql5.1.72/data
if [ ! -f $pidfile ]
then
$mysql_path/mysqld_safe --datadir=$datadir --pid-file=$pidfile & 2>&1 /dev/null
else
echo "MySQL is running."
fi
[[email protected] script]#
#################### ###############
監控其他服務都可以參考上面幾種監控方法
監控web服務的手段
1.本地:ss、netstat、lsof
遠程:telnet、nmap、nc
2.本地進程數
ps -ef |grep xxx
3.curl -s -I 看傳回值是否為200
wget
本文出自 “奮鬥吧” 部落格,請務必保留此出處http://lvnian.blog.51cto.com/7155281/1701047
監控 MySQL的多種方法