MySQL的closed是數(shù)據(jù)庫中一種狀態(tài),當(dāng)某個(gè)數(shù)據(jù)庫連接被關(guān)閉時(shí),它會(huì)變成closed狀態(tài)。closed狀態(tài)代表著數(shù)據(jù)庫連接已經(jīng)結(jié)束,如果需要重新使用該連接,需要重新建立連接并進(jìn)行認(rèn)證。在MySQL中關(guān)閉連接的方法主要有兩種:一是在程序中顯式關(guān)閉連接,二是在MySQL服務(wù)器通過超時(shí)機(jī)制關(guān)閉連接。
// 顯式關(guān)閉連接的方法 $conn = mysqli_connect("localhost", "root", "password", "test"); //執(zhí)行數(shù)據(jù)庫操作 ... mysqli_close($conn);
以上代碼中,$conn為數(shù)據(jù)庫連接對象,mysqli_close函數(shù)會(huì)關(guān)閉該連接。在實(shí)際應(yīng)用中,為了避免連接池被占用過多資源,程序應(yīng)該顯式關(guān)閉連接,以釋放資源。
另一種關(guān)閉連接的方法是MySQL服務(wù)器自身的超時(shí)機(jī)制。MySQL服務(wù)器會(huì)自動(dòng)關(guān)閉空閑連接,這可以通過以下參數(shù)設(shè)置:
wait_timeout = 600 interactive_timeout = 600
以上代碼中,wait_timeout和interactive_timeout分別代表連接最長等待時(shí)間和交互最長等待時(shí)間,單位為秒。默認(rèn)情況下,這兩個(gè)參數(shù)的值都是8小時(shí),如果連接空閑時(shí)間達(dá)到這個(gè)時(shí)間,MySQL服務(wù)器就會(huì)自動(dòng)關(guān)閉該連接,避免無意義的資源浪費(fèi)。