溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

通過shell腳本檢測MySQL服務(wù)信息

發(fā)布時間:2020-08-08 19:39:19 來源:ITPUB博客 閱讀:351 作者:jeanron100 欄目:軟件技術(shù)

今天改了一版腳本,對于MySQL的基本信息的獲取有了一個相對比較清晰的收集方式。

我簡單解釋下腳本。

整體是分為兩部分

第一部分是通過系統(tǒng)層面來解析MySQL的基本信息,方式是通過ps -ef|grep mysql得到的信息來解析。

第二部分是通過登錄MySQL得到的信息,基本信息包括server_id,log_bin等。

腳本內(nèi)容如下:

ps -ef|grep mysql |grep -w mysqld|grep -v grep |awk -F'--' '{for (i=2;i<=NF;i++) {printf $i" "}printf " "}' > info_from_sys.tmp

function get_info_from_sys()

{

while read line

do

array=$line

port_str='port='

socket_str='socket='

for arr_tmp in ${array[*]}; do

if [[ $arr_tmp =~ $port_str ]];then

port_tmp=`echo $arr_tmp|sed 's/port=//g'`

fi

if [[ $arr_tmp =~ $socket_str ]];then

socket_tmp=`echo $arr_tmp|sed 's/socket=//g'`

fi

done

if [ -z "$port_tmp" ];then

port_tmp=3306

fi

echo $port_tmp $socket_tmp >> info_from_sys.lst

done < info_from_sys.tmp

}

function get_info_from_db()

{

while read line

do

port=`echo $line|awk '{print $1}'`

#echo $port

/usr/local/mysql/bin/mysql -udba_admin -p$dec_passwd -h227.0.0.1 -P${port} -N -e "select @@port,@@log_bin,@@innodb_buffer_pool_size,@@gtid_mode,@@datadir,@@character_set_server,@@server_id,version();" >> info_from_db.lst

# echo $port_tmp $socket_tmp

done < info_from_sys.lst

}

function decrypt_passwd

{

tmp_passwd=$1

dec_passwd=`echo $tmp_passwd|base64 -d`

}

##MAIN

get_info_from_sys

sec_password='RHB6TEST1d1c5TTEzZGIwSgo=' --這個是數(shù)據(jù)庫密碼的base64加密串,可以根據(jù)需求來定制

dec_passwd=''

decrypt_passwd $sec_password

get_info_from_db

sort info_from_db.lst > info_from_db.tmp

sort info_from_sys.lst > info_from_sys.tmp

rm info_from_db.lst info_from_sys.lst

join -j 1 info_from_sys.tmp info_from_db.tmp

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI