問題描述:監控mysql服務是否正常啟動,如果未正常啟動,就啟動mysql
判斷mysql的方法:
1)埠判斷
1
2
[root@localhost ~]
# netstat -lntup | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* listen 2288
/mysqld
2)程序判斷
1
2
3
4
[root@localhost ~]
# ps -ef | grep mysqld
mysql 2071 1 0 11:32 ? 00:00:00
/bin/sh
/usr/bin/mysqld_safe
--basedir=
/usr
mysql 2288 2071 0 11:32 ? 00:00:24
/usr/libexec/mysqld
--basedir=
/usr
--datadir=
/var/lib/mysql
--plugin-
dir
=
/usr/lib64/mysql/plugin
--log-error=
/var/log/mariadb/mariadb
.log --pid-
file
=
/var/run/mariadb/mariadb
.pid --socket=
/var/lib/mysql/mysql
.sock
root 10097 6962 0 17:27 pts
/1
00:00:00
grep
--color=auto mysqld
3)返回值判斷
1
2
3
[root@localhost ~]
# mysql -uroot -proot -e "select version();" &>/dev/null
[root@localhost ~]
# echo $?
0
法一:實現思路是過濾出mysql埠3306進行判斷:
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
port=`
netstat
-lnt|
grep
3306|
wc
-l`
if
[ $port -
ne
1 ]
then
/etc/init
.d
/mysql
start
else
echo
"mysql is running."
fi
執行結果:
[root@localhost ~]
# sh mysql1.sh
mysql is running.
法二:實現思路是通過mysql程序進行判斷:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
portcess=`
ps
-ef|
grep
mysql|
grep
-
v
grep
|
wc
-l`
if
[ $portcess -
ne
2 ]
then
/etc/init
.d
/mysqld
start
else
echo
"mysql is running."
fi
執行結果:
[root@localhost ~]
# sh mysql1.sh
mysql is running.
注意:過濾的字串『mysql』不要在指令碼名字出現,如果出現則不准
法三:實現思路是通過web連線返回值判斷:
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
mysql -uroot -proot -e
"select version();"
&>
/dev/null
if
[ $? -
ne
0 ]
then
/etc/init
.d
/mysqld
start
else
echo
"mysql is running."
fi
執行結果:
[root@localhost ~]
# sh mysql1.sh
mysql is running.
小結:web服務監控手段:
埠(本地或者遠端)
本地程序
shell指令碼 監控MySQL服務是否正常
原創模範生 2015 10 15 17 21 02 2783人閱讀 監控mysql服務是否正常,通常的思路為 檢查3306埠是否啟動,ps檢視mysqld程序是否啟動,命令列登入mysql執行語句返回結果,php或jsp程式檢測 需要開發人員開發程式 等等 方法1 監聽3306埠 1 2 3 4 5...
mysql和nginx服務是否正常監控指令碼
一 監控web伺服器和 mysql 方法 1.監控埠 nginx也相同 1.1本地監控 netstat tunlp grep 3306 wc l ss tunlp grep 3306 wc l 1.2遠端監控 nmap 10.117.33.98 p 3306 grep open wc l echo ...
mysql監控和建議服務 mysql的監控及優化
1.資料庫的用途 寫資料和讀資料 2.查詢語句的生命週期 1 mysql伺服器監聽3306埠 2 驗證訪問使用者 3 建立mysql執行緒 4 檢查記憶體 qcache 5 解析sql 6 生成查詢計畫 7 開啟表 8 檢查記憶體 buffer pool 9 到磁碟取資料 10 寫入記憶體 11 返...