1:首先通過(guò)show full processlist查看正在執(zhí)行的語(yǔ)句木羹;
或者通過(guò) SELECT * FROM information_schema.processlist ORDER BY TIME DESC 對(duì)processlist結(jié)果進(jìn)行篩選屯断。結(jié)果如下:
其中time表示執(zhí)行時(shí)間,單位是秒节视。
image.png
2:如果看到大量重復(fù)又耗時(shí)的sql,則為慢sql堆積假栓,可以先停服務(wù)寻行,或者服務(wù)限流,然后kill掉這些慢查詢(xún)匾荆。
接著具體分析這些sql拌蜘,并且優(yōu)化sql。必要的話(huà)暫停相關(guān)業(yè)務(wù)牙丽。
3:還有可能是睡眠連接過(guò)多简卧,嚴(yán)重消耗mysql服務(wù)器資源
wait_timeout, 即可設(shè)置睡眠連接超時(shí)秒數(shù),如果某個(gè)連接超時(shí)烤芦,會(huì)被mysql自然終止举娩。
show global variables like 'wait_timeout' 查看timeout時(shí)間。
通過(guò)set global wait_timeout=20 改變timeout時(shí)間构罗。