這篇文章主要講解了“MySQL性能知識(shí)點(diǎn)整理”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“mysql性能知識(shí)點(diǎn)整理”吧!
創(chuàng)新互聯(lián)建站是一家從事企業(yè)網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、行業(yè)門(mén)戶(hù)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專(zhuān)業(yè)網(wǎng)站建設(shè)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類(lèi)型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹(shù)立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)近千家。
mysql的性能問(wèn)題監(jiān)控一向比較簡(jiǎn)單,除了slow log和show processlist就沒(méi)有什么特別好的辦法,下面的腳本可以幫助收集數(shù)據(jù)庫(kù)一段時(shí)間內(nèi)的行為,還可以導(dǎo)入表中,做成圖表,方便判斷數(shù)據(jù)庫(kù)的性能和容量趨勢(shì)。
touch lastdat.txt
touch tempdat.txt
touch mystat.sh
chmod 755 mystat.sh
mysqladmin extended-status |grep -E 'Bytes_received>|Bytes_sent>|Com_delete>|Com_insert>|Com_select>|Com_update>|Connections>'|awk '{print $4}'>/root/tempdat.txt
byr=`sed -n '1p' /root/tempdat.txt`
bys=`sed -n '2p' /root/tempdat.txt`
del=`sed -n '3p' /root/tempdat.txt`
ins=`sed -n '4p' /root/tempdat.txt`
sel=`sed -n '5p' /root/tempdat.txt`
upd=`sed -n '6p' /root/tempdat.txt`
conn=`sed -n '7p' /root/tempdat.txt`
ct=`wc -l /root/lastdat.txt|awk '{print $1}'`
if [ $ct -eq 0 ]
then
echo $byr>/root/lastdat.txt
echo $bys>>/root/lastdat.txt
echo $del>>/root/lastdat.txt
echo $ins>>/root/lastdat.txt
echo $sel>>/root/lastdat.txt
echo $upd>>/root/lastdat.txt
echo $conn>>/root/lastdat.txt
else
val_new=$byr
val_old=`sed -n '1p' /root/lastdat.txt`
valbyr=`expr $val_new - $val_old `
valbyr=`expr $valbyr / 1024`
val_new=$bys
val_old=`sed -n '2p' /root/lastdat.txt`
valbys=`expr $val_new - $val_old `
valbys=`expr $valbys / 1024`
val_new=$del
val_old=`sed -n '3p' /root/lastdat.txt`
valdel=`expr $val_new - $val_old `
val_new=$ins
val_old=`sed -n '4p' /root/lastdat.txt`
valins=`expr $val_new - $val_old `
val_new=$sel
val_old=`sed -n '5p' /root/lastdat.txt`
valsel=`expr $val_new - $val_old `
val_new=$upd
val_old=`sed -n '6p' /root/lastdat.txt`
valupd=`expr $val_new - $val_old `
val_new=$conn
val_old=`sed -n '7p' /root/lastdat.txt`
valconn=`expr $val_new - $val_old `
echo `date +"%Y-%m-%d %k:%M:%S"`,$valbyr,$valbys,$valdel,$valins,$valsel,$valupd,$valconn>>/root/`hostname`.csv
echo $byr>/root/lastdat.txt
echo $bys>>/root/lastdat.txt
echo $del>>/root/lastdat.txt
echo $ins>>/root/lastdat.txt
echo $sel>>/root/lastdat.txt
echo $upd>>/root/lastdat.txt
echo $conn>>/root/lastdat.txt
fi
--------------------------------------------------------------------------
#catchsql.sh
log_dir=/usr/checklog
interval=3
#每3秒運(yùn)行一次
wtlimit=10
#抓取運(yùn)行時(shí)間超過(guò)10秒的sql
maxtime=20
#最慢SQL的時(shí)間報(bào)警限制
trap "exit;exit" 2
while [ 1 -eq 1 ]
do
mysql -e "show full processlist" |awk '$2!~/'"(system)"'/ {print $0}'|sed -n '2,$p'|sort -n -k 6 -r|awk '$6>'"$wtlimit"'&&$7!="NULL"&&$6!="NULL"&&$5!="Sleep"&&$5!="Binlog" {print $0}'>$log_dir/topsql.log
ct=`cat $log_dir/topsql.log|wc -l`
if [ $ct -gt 0 ]
then
echo '-------------------------------------------------------------------------------------------------------------------------------------------------------'>>$log_dir/slowsql.log
echo `date "+%Y-%m-%d %H:%M:%S"`>>$log_dir/slowsql.log
echo '-------------------------------------------------------------------------------------------------------------------------------------------------------'>>$log_dir/slowsql.log
cat $log_dir/topsql.log| tee -a >>$log_dir/slowsql.log
mt=`cat $log_dir/topsql.log |sed -n '1p'|awk '{print $6}'`
if [ $mt -gt $maxtime ]
then
echo "-----------------------------------------------------------------------------------------------">>$log_dir/`date +%Y%m%d`.log
echo "`date +%k:%M:%S` Error:some SQL elapse too long ,pls check slowsql.log.Time Threshold: $maxtime">>$log_dir/`date +%Y%m%d`.log
echo "-----------------------------------------------------------------------------------------------">>$log_dir/`date +%Y%m%d`.log
cat $log_dir/topsql.log>>$log_dir/`date +%Y%m%d`.log
fi
fi
sleep $interval
done
感謝各位的閱讀,以上就是“mysql性能知識(shí)點(diǎn)整理”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)mysql性能知識(shí)點(diǎn)整理這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
文章題目:mysql性能知識(shí)點(diǎn)整理
文章源于:http://www.rwnh.cn/article44/gcgphe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、微信公眾號(hào)、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)