本文主要給大家介紹判斷MySQL服務(wù)是否正常的方法,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下判斷MYSQL服務(wù)是否正常的方法吧。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供奉新企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為奉新眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
1)端口判斷
[root@localhost ~]# netstat -lntup | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2288/mysqld
2)進(jìn)程判斷
[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)返回值判斷
[root@localhost ~]# mysql -uroot -proot -e "select version();" &>/dev/null [root@localhost ~]# echo $? 0
法一:實(shí)現(xiàn)思路是過(guò)濾出MYSQL端口3306進(jìn)行判斷:
#!/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 執(zhí)行結(jié)果: [root@localhost ~]# sh mysql1.sh MySQL is running.
法二:實(shí)現(xiàn)思路是通過(guò)MYSQL進(jìn)程進(jìn)行判斷:
#!/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 執(zhí)行結(jié)果: [root@localhost ~]# sh mysql1.sh MySQL is running. 注意:過(guò)濾的字符串‘mysql’不要在腳本名字出現(xiàn),如果出現(xiàn)則不準(zhǔn)
法三:實(shí)現(xiàn)思路是通過(guò)web連接返回值判斷:
#!/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 執(zhí)行結(jié)果: [root@localhost ~]# sh mysql1.sh MySQL is running.
小結(jié):web服務(wù)監(jiān)控手段:
端口(本地或者遠(yuǎn)程)
本地進(jìn)程
header(httpd code)
URL(wget,curl