通過shell指令碼檢測MySQL服務資訊
今天改了一版指令碼,對於MySQL的基本資訊的獲取有了一個相對比較清晰的收集方式。
我簡單解釋下指令碼。
整體是分為兩部分
第一部分是通過系統層面來解析MySQL的基本資訊,方式是通過ps -ef|grep mysql得到的資訊來解析。
第二部分是通過登入MySQL得到的資訊,基本資訊包括server_id,log_bin等。
指令碼內容如下:
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 -h127.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=` –這個是資料庫密碼的base64加密串,可以根據需求來定製
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
最後送波福利。現在加群即可獲取Java工程化、高效能及分散式、高效能、高架構。效能調優、Spring,MyBatis,Netty原始碼分析和大資料等多個知識點高階進階乾貨的直播免費學習許可權及領取相關資料,群號:835638062 點選連結加入群聊【Java高階架構】:https://jq.qq.com/?_wv=1027&k=5S3kL3v
相關文章
- 通過shell指令碼批量操作mysql資料庫指令碼MySql資料庫
- shell指令碼:監控MySQL服務是否正常指令碼MySql
- 案例:通過shell指令碼實現mysql資料備份與清理指令碼MySql
- Shell指令碼 – 檢視網路介面資訊指令碼
- Laravel 通過遷移指令碼建立MySQL檢視Laravel指令碼MySql
- [ Shell ] 通過 Shell 指令碼匯出 CDL 網表指令碼
- 通過shell指令碼防止埠掃描指令碼
- [ Shell ] 通過 Shell 指令碼匯出 GDSII/OASIS 檔案指令碼
- 通過shell指令碼 批量新增使用者指令碼
- 【資訊採集】IBM AIX系統硬體資訊檢視命令(shell指令碼)IBMAI指令碼
- shell指令碼監控啟動停止weblogic服務指令碼Web
- Keepalived檢測mysql 3306心跳的指令碼MySql指令碼
- shell指令碼企業巡檢指令碼
- Shell 系統資訊監控指令碼指令碼
- 高可用服務之Keepalived利用指令碼實現服務的可用性檢測指令碼
- MySQL資料庫備份的shell指令碼MySql資料庫指令碼
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- 【Linux】通過shell指令碼對mysql的增刪改查以及my.cnf的配置Linux指令碼MySql
- Linux基礎服務巡檢指令碼模板Linux指令碼
- 根據ip列表檢測主機狀態(shell指令碼)指令碼
- Linux通過Shell指令碼命令修改密碼不需要互動Linux指令碼密碼
- mysql巡檢指令碼MySql指令碼
- Liunx備份mysql資料庫的shell指令碼MySql資料庫指令碼
- Laravel 透過遷移指令碼建立MySQL檢視Laravel指令碼MySql
- 通過 shell 指令碼完成 GitLab11.9.11 的一鍵安裝指令碼Gitlab
- 檢測不同伺服器上程式碼差別的shell的指令碼伺服器指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- 網易易盾音訊過濾服務再次迭代 新增音訊實時檢測音訊
- MySQL5.7/8.0效能分析shell指令碼MySql指令碼
- Bash 指令碼實現每次登入到 Shell 時可以檢視 Linux 系統資訊指令碼Linux
- shell指令碼指令碼
- 傳送kafka訊息的shell指令碼Kafka指令碼
- Shell指令碼監控MySQL主從狀態指令碼MySql
- 服務自啟指令碼指令碼
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- Shell階段04 shell流程之case語句, 服務啟動停止指令碼(rsync, nginx), shell加鎖機制指令碼Nginx
- mysql 伺服器巡檢指令碼MySql伺服器指令碼
- 南大通用目錄服務系統通過國家電子政務質檢中心測試