修改方法:

創(chuàng)新互聯(lián)公司服務(wù)項目包括烏拉特前網(wǎng)站建設(shè)、烏拉特前網(wǎng)站制作、烏拉特前網(wǎng)頁制作以及烏拉特前網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,烏拉特前網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到烏拉特前省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
在配置文件mysql.ini中進(jìn)行設(shè)置
添加類似wait_timeout=xxxx的語句即可
通過命令行進(jìn)行修改
Mysql set global wait_timeout=xxxx;
$mysql_conn = mysql_connect($mysql_naccount_svr,$mysql_naccount_usr,$mysql_naccount_pwd) or die("Couldn't connect to MySQL Server on nacco");
mysql的連接需要什么時間啊,那么快,正確就連上了,不正確讓他輸出
如上 :Couldn't connect to MySQL Server on nacco
字面意思是數(shù)據(jù)庫連接超時(30s),假如你的代買沒有問題而是你的文件過大的話,那么可以在php.ini中調(diào)大這個連接時間上限。但是我覺得可能是你的數(shù)據(jù)庫配置的問題,方便貼出config.php中數(shù)據(jù)庫連接的配置代碼么?
開啟下mysql的慢查詢. 看看是否存在過多的慢查詢語句. 具體開啟方式可以百度
在數(shù)據(jù)庫訪問比較慢的情況下. 執(zhí)行 show processlist 看下進(jìn)程是否過多.
找出慢查詢之后, 可以針對sql進(jìn)行優(yōu)化.
加加索引應(yīng)該就能解決.
my.cnf 的配置可以參考網(wǎng)上的方案進(jìn)行優(yōu)化....
(按說...4000條數(shù)據(jù)根本就不是個問題....)
1.由于數(shù)據(jù)庫設(shè)計問題造成SQL數(shù)據(jù)庫新增數(shù)據(jù)時超時
癥狀:
Microsoft OLE DB Provider for SQL Server 錯誤 '80040e31' ([ODBC SQL Server Driver]超時已過期);
服務(wù)器上看CPU、內(nèi)存占用率很低;
事件日志中提示: 數(shù)據(jù)庫 '*********' 中文件 '***********' 的自動增長在 453 毫秒后已取消或出現(xiàn)超時。使用 ALTER DATABASE 設(shè)置更小的 FILEGROWTH 或設(shè)置新的大小。
原因:
數(shù)據(jù)庫設(shè)置時,[文件增長]按百分比來增長,當(dāng)數(shù)據(jù)庫文件很大時(1G以上),新增操作都會報超時,而這時候其實CPU、內(nèi)存占用率都非常非常的低。
解決方法:
把上述的文件增長這里設(shè)置為一個更低的百分比或者直接指定增加多少兆字節(jié)。
2.SQL Server數(shù)據(jù)庫超時設(shè)置
修改客戶端的連接超時設(shè)置。默認(rèn)情況下,通過企業(yè)管理器注冊另外一臺SQL Server的超時設(shè)置是 4 秒,而查詢分析器是 15 秒。
企業(yè)管理器中的設(shè)置:
在企業(yè)管理器中,選擇菜單上的"工具",再選擇"選項";
在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點(diǎn)擊"高級"選項卡;
在"連接設(shè)置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數(shù)字,如 30。
查詢分析器中的設(shè)置:
單擊“工具”-"選項"-"連接"; 將登錄超時設(shè)置為一個較大的數(shù)字,連接超時改為0。
3.查詢語句時超時
原因分析:
查詢超時一般來說首先要從sql語句和數(shù)據(jù)表的結(jié)構(gòu)上找原因,優(yōu)化sql語句和為數(shù)據(jù)庫的查詢字段建索引是最常用的辦法。
另外,數(shù)據(jù)庫的查詢超時設(shè)置一般是sqlserver自己維護(hù)的(在你沒有修改query wait配置前),只有當(dāng)你的實際查詢時間超過估計查詢時間的25倍時,才會超時。
而造成超出估計值那么多的原因有兩種可能:
估計時間不準(zhǔn)確;
sql語句涉及到大量占用內(nèi)存的查詢(如排序和哈希操作),內(nèi)存不夠,需要排隊等待資源造成的。
解決辦法:
優(yōu)化語句,創(chuàng)建\使用合適的索引;
解決第一個問題的方法,更新要查詢表的索引分發(fā)統(tǒng)計,保證估計時間的正確性,UPDATE STATISTICS 表名;
增加內(nèi)存
如果想手動設(shè)置查詢超時,可以使用以下語句:
sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO
4.應(yīng)用程序連接失敗
故障:
在應(yīng)用程序中我們也會遇到類似的錯誤信息,例如:
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'. [Microsoft][ODBC SQL Server Driver]超時已過期.
解決方法:
A.如果遇到連接超時的錯誤,我們可以在程序中修改 Connection 對象的超時設(shè)置,再打開該連接。例如:
<%Set Conn = Server.CreateObject("ADODB.Connection")DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"Conn. Properties("Connect Timeout") = 15 '以秒為單位Conn.open DSNtest%>
B. 如果遇到查詢超時的錯誤,我們可以在程序中修改 Recordset 對象的超時設(shè)置,再打開結(jié)果集。例如:
Dim cn As New ADODB.ConnectionDim rs As ADODB.Recordset. . . cmd1 = txtQuery.TextSet rs = New ADODB.Recordsetrs.Properties("Command Time Out") = 300'同樣以秒為單位,如果設(shè)置為 0 表示無限制rs.Open cmd1, cnrs.MoveFirst. . .
另外,一些硬件及網(wǎng)絡(luò)方面的原因也可能造成SQL數(shù)據(jù)庫連接超時.
本文名稱:php連接數(shù)據(jù)庫超時設(shè)置,mysql修改連接超時時間
網(wǎng)頁地址:http://chinadenli.net/article32/hsgppc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、用戶體驗、軟件開發(fā)、Google、定制開發(fā)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)