MySQL的timeout表示數(shù)據(jù)庫(kù)服務(wù)器在等待客戶端請(qǐng)求時(shí)的超時(shí)時(shí)間。常見(jiàn)的timeout包括connect timeout和wait timeout。
Connect timeout即連接超時(shí),是指當(dāng)客戶端請(qǐng)求與數(shù)據(jù)庫(kù)服務(wù)器建立連接時(shí),如果服務(wù)器在指定時(shí)間內(nèi)沒(méi)有做出回應(yīng),則連接超時(shí),請(qǐng)求失敗。可以通過(guò)在連接字符串上設(shè)置timeout參數(shù)來(lái)調(diào)整連接超時(shí)時(shí)間。
Wait timeout即等待超時(shí),是指當(dāng)客戶端請(qǐng)求向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送SQL語(yǔ)句時(shí),如果服務(wù)器在指定時(shí)間內(nèi)沒(méi)有完成請(qǐng)求或沒(méi)有做出回應(yīng),則等待超時(shí),請(qǐng)求失敗。可以通過(guò)調(diào)整MySQL服務(wù)器的wait_timeout參數(shù)來(lái)調(diào)整等待超時(shí)時(shí)間。
# 修改MySQL服務(wù)器的wait_timeout參數(shù) SET GLOBAL wait_timeout=60; # 查看MySQL服務(wù)器的wait_timeout參數(shù) SHOW VARIABLES LIKE 'wait_timeout';
需要注意的是,調(diào)整timeout參數(shù)時(shí)需要根據(jù)實(shí)際情況合理設(shè)置,過(guò)短的timeout可能會(huì)導(dǎo)致請(qǐng)求失敗,過(guò)長(zhǎng)的timeout可能會(huì)占用大量資源。