第一種途徑使用命令行set
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都做網(wǎng)站、崆峒網(wǎng)絡(luò)推廣、成都小程序開發(fā)、崆峒網(wǎng)絡(luò)營銷、崆峒企業(yè)策劃、崆峒品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供崆峒建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
@@GLOBAL.wait_timeout=1814400
這種方式是一種臨時方法,重啟服務(wù)就會返回默認(rèn)值了。
第二種途徑修改my.ini配置文件
[mysqld]
wait_timeout=31536000
interactive_timeout=31536000
在mysqld下面添加以上兩行,后面的數(shù)字是時間
首先服務(wù)中找到mysql,然后右鍵屬性,在可執(zhí)行文件的路徑中,使勁向后拖動鼠標(biāo)就可以看到my.ini的文件了
mysql命令
查看mysql server超時時間:
msyql show global variables like '%timeout%';
設(shè)置mysql server超時時間(以秒為單位):
msyql set global wait_timeout=10;
msyql set global interactive_timeout=10;
大規(guī)模多線程操作事務(wù)的時候,有時候打開一個鏈接,會進(jìn)行等待,這時候如果數(shù)據(jù)庫的超時時間設(shè)置的過短,就可能會出現(xiàn),數(shù)據(jù)鏈接自動被釋放,當(dāng)然設(shè)置過大也不好,慢SQL或其他因素引起的鏈接過長,導(dǎo)致整個系統(tǒng)被拖慢,甚至掛掉。SO,適當(dāng)?shù)脑O(shè)置超時時間。設(shè)置方法:
SHOW GLOBAL VARIABLES LIKE '%timeout%'
SET GLOBAL wait_timeout=10000
網(wǎng)頁鏈接
C3P0連接池連接mysql有時會出現(xiàn)如下錯誤:
這是C3P0配置的超時時間和mysql超時時間不一致導(dǎo)致的,C3P0為60秒超時,mysql為30秒超時,在30-60之間的時間mysql已經(jīng)斷開連接,而C3P0還維持連接,再次發(fā)送請求就會報上面的錯誤。
解決方法:
1、修改C3P0的maxIdleTime參數(shù)為30。
2、修改mysql的wait_timeout參數(shù)為60秒。不停機狀態(tài)下進(jìn)入mysql命令行,執(zhí)行set global wait_timeout=60;
?php
$db-query("SET interactive_timeout = 3600;");
$db-query("SET wait_timeout = 3600;");
?
connect_timeout:連接響應(yīng)超時時間。服務(wù)器端在這個時間內(nèi)如未連接成功,則會返回連接失敗。
wait_timeout:連接空閑超時時間。與服務(wù)器端無交互狀態(tài)的連接,直到被服務(wù)器端強制關(guān)閉而等待的時間??梢哉J(rèn)為是服務(wù)器端連接空閑的時間,空閑超過這個時間將自動關(guān)閉。
interactive_timeout :連接空閑超時時間。與服務(wù)器端無交互狀態(tài)的連接,直到被服務(wù)器端強制關(guān)閉而等待的時間。
interactive_timeout和wait_timeoutu意義雖然相同,但是有使用對象有本質(zhì)的區(qū)別。interactive_timeout針對交互式連接(比如通過mysql客戶端連接數(shù)據(jù)庫),wait_timeout針對非交互式連接(比如一般在PHP中使用PDO連接數(shù)據(jù)庫,當(dāng)然你可以設(shè)置CLIENT_INTERACTIVE選項來改變)。所謂的交互式連接,即在mysql_real_connect()函數(shù)中使用了CLIENT_INTERACTIVE選項。
net_read_timeout :數(shù)據(jù)讀取超時時間。在終止讀之前,從一個連接獲得數(shù)據(jù)而等待的時間秒數(shù);當(dāng)服務(wù)正在從客戶端讀取數(shù)據(jù)時,net_read_timeout控制何時超時。即客戶端執(zhí)行數(shù)據(jù)讀取,等待多少秒仍未執(zhí)行成功時自動斷開連接。
net_write_timeout:數(shù)據(jù)庫寫超時時間。和net_read_timeout意義類似,在終止寫之前,等待多少秒把block寫到連接;當(dāng)服務(wù)正在寫數(shù)據(jù)到客戶端時,net_write_timeout控制何時超時。
slave-net-timeout:從庫延后同步的時間,當(dāng)slave認(rèn)為連接master的連接有問題時,就等待N秒,然后斷開連接,重新連接master
slave-net-timeout在主從同步時從庫上起作用;connect_timeout:在獲取連接階段起作用;interactive_timeout和wait_timeout:在連接空閑階段起作用;net_read_timeout和net_write_timeout:則是在連接執(zhí)行時起作用。