解決Can’t connect to MySQL server on ‘localhost’ (10048)

來源:互聯網
上載者:User

解決Can't connect to MySQL server on 'localhost' (10048)

 

您使用的是Windows作業系統,此錯誤與一個註冊表索引值TcpTimedWaitDelay有關。
減小Windows中TcpTimedWaitDelay時間可解決此類問題,預設情況下為240(未設定的情況下也是這個數值)
此項設定需要到註冊表如下位置進行設定
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/TcpTimedWaitDelay 
如果註冊表中沒有TcpTimedWaitDelay這個項目,請增加這個項目,並設定為雙位元組(DWORD)類型
數值設定為30 ~ 60 之間即可

 

轉載聲明:本文轉自http://www.devdao.com/Article/384352.htm

====================================================================

 

解決Can't connect to MySQL server on 'localhost' (10048)

原出處:http://www.hao32.com/webserver/55.html
解決Can't connect to MySQL server on 'localhost' (10048), 一般見於使用mysql的windows 2003伺服器.

錯誤的出現的原因:

應用程式需要快速釋放和建立新串連, 但是由於 TIME_WAIT 中存在的串連超過預設值,導致較低輸送量.

解決方案:
和本錯誤密切相關的兩個windows的登錄機碼:TcpTimedWaitDelay和MaxUserPort的值.

TcpTimedWaitDelay 確定 TCP/IP 可釋放已關閉串連並重用其資源前, 必須經過的時間. 關閉和釋放之間的此時間間隔通稱 TIME_WAIT 狀態或兩倍最大段生命週期(2MSL)狀態. 此時間期間, 重新開啟到客戶機和伺服器的串連的成本少於建立新串連. 減少此條目的值允許 TCP/IP 更快地釋放已關閉的串連, 為新串連提供更多資源.

MaxUserPort 確定從系統請求任何可用使用者連接埠時所用最大連接埠數,TCP/IP 可指定的最高連接埠號碼. 如果建立 TCP 串連最大連接埠串連大於 5000, 本機電腦響應以下錯誤資訊WSAENOBUFS (10055): 因為系統缺乏足夠緩衝區或者因為隊列已滿而無法執行通訊端上操作, 從而導致應用程式的10048錯誤.

開啟登錄編輯程式regedit

TcpTimedWaitDelay 設定:
找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 註冊表子鍵
並建立名為 TcpTimedWaitDelay 的新 REG_DWORD 值
設定此值為十進位 30, 十六進位為 0×0000001e
該值等待時間將是 30 秒。
本項的預設值:0xF0(16進位), 等待時間設定為 240 秒

MaxUserPort 設定(增加最大值連接埠串連):
找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 註冊表子鍵
並建立名為 MaxUserPort 的新 REG_DWORD 值
設定此值為十進位最低 32768
該值等待時間將是 30 秒。
重啟windows系統。
本項的預設值:5000(十進位)

關閉登錄編輯程式, 重啟windows系統。

 

轉載聲明:本文轉自http://www.ismole.net/thread-997-1-1.html

====================================================================

 

Mysql 10048,10055 錯誤詳細解決方案匯總

  最近伺服器資料庫時不時的崩掉,鬱悶,找了很多方法,也沒解決。把這些方法匯總轉過來。
  伺服器開一段時間後,Mysql就自動掛掉~非要重啟才能解決問題,建議新手還是用mysql4.X版本,5的確很不完善。另外出現此種問題,可不是簡簡單單一種方法就能解決的。希望其他出現此問題的朋友,能得到啟發~~~
描述1:
伺服器配置:win2003、serv-u6.0、mysql-4.0.24、php-4.3.11、sql2000
伺服器運行一段時間後,php的網站打不開,提示Can't connect to MySQL server on 'localhost'(10055)錯誤。重起mysql服務沒有作用,只有重起伺服器。但過幾天以後,又出現此錯誤。

我的my.ini配置內容:
#This File was made using the WinMySQLAdmin 1.4 Tool
#2005-6-26 16:53:57

#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions

[mysqld]
basedir=C:/mysql
#bind-address=192.168.13.81
datadir=C:/mysql/data
#language=C:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/mysql/bin/mysqld-nt.exe
user=root
password=%%%
--------------------------------------------------------------------------------

描述二:
Can't connect to MySQL server on 'localhost' (10055) ( 2003 )
Can't connect to MySQL server on 'localhost' (10048) ( 2003 )

我的系統是2003,我的MYSQL 一段時間就就會反覆出現上面的錯誤.... 重啟就好了,但過段時間問題又來了... 相關研究方向

描述三:
我的MYSQL最近老是出錯,提示'localhost' (10055) 錯誤!察看日誌,是這樣提示的:
--------------------------------------------------------------------------------
MySql: ready for connections
MySql: ready for connections
Cannot initialize InnoDB as 'innodb_data_file_path' is not set.
If you do not want to use transactional InnoDB tables, add a line
skip-innodb
to the [mysqld] section of init parameters in your my.cnf
or my.ini. If you want to use InnoDB tables, add to the [mysqld]
section, for example,
innodb_data_file_path = ibdata1:10M:autoextend
But to get good performance you should adjust for your hardware
the InnoDB startup options listed in section 2 at
http://www.innodb.com/ibman.html
050621 13:25:20 MySql: Normal shutdown
050621 13:25:20 MySql: Shutdown Complete
MySql: ready for connections
--------------------------------------------------------------------------------
請問是什麼意思啊?而且每次出錯後,必須重啟動機器才可以好。如果只是重啟mysql服務,沒有用。

解決辦法參考(網上)
一:
我覺得可能是樓主的某些程式寫的有問題,可能佔用了串連而沒有斷開。另外,樓主的MYSQL伺服器是不是安裝有防火牆?特別是諾頓防火牆,我遇到過,明明是允許我的IP訪問被保護的伺服器,可是一段時間後,挪頓就認為我的IP是非法攻擊,自動就給我IP封了,要麼等20分鐘(預設的規則),要麼從新啟動伺服器就好了。。。。。。。

二:此條慎用,我更改後,威視總是出現伺服器內部錯誤
您使用的是Windows作業系統,此錯誤與一個註冊表索引值TcpTimedWaitDelay有關。減小Windows中TcpTimedWaitDelay時間可解決此類問題,預設情況下為240(未設定的情況下也是這個數值)。 此項設定需要到註冊表如下位置進行設定:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersTcpTimedWaitDelay
如果註冊表中沒有TcpTimedWaitDelay這個項目,請增加這個項目,並設定為雙位元組(DWORD)類型。數值設定為30 ~ 60 之間即可。

三:
伺服器ftp測試完畢,重新啟動了一下。就一切穩定了。 不過仍然有幾個問題沒有搞清楚。心裡不放心。

1。上周五的時候,ftp壓力並不大的時候,30分鐘線上統計900多人的時候,10%的比率出現mysql串連失敗的10048錯誤。
2。我當時使用的串連方法是 mysql_connect()。伺服器iis+php+isapi的方式。參考了一些資料以後,我當時馬上把 mysql_connect() 方法都改成了 mysql_pconnect() 方法,當時,問題看上去是解決了。
3。周六,伺服器開始ftp壓力測試。15%的比率出現 mysql串連失敗的 10048 10055 錯誤。比上次多了個10055錯誤。

關鍵不知道10048 10055錯誤碼具體代表的錯誤資訊。應該說,問題仍然沒有找到確切的答案。

我開了serv-u,有4個socket串連,mysql馬上掛了 資料採礦研究院

四:
Can't connect to MySQL server on 'localhost' (10048)
Can't connect to MySQL server on 'localhost' (10055)
MySQL版本 4.0.13-nt

伺服器: windows2000 server + iis5.0 + php isapi + mysql

我用php+mysql開發了一個web站,該站訪問量很高。
但是正常運行了一個多星期以後,開始頻繁出現Can't connect to MySQL server on 'localhost' (10048) 錯誤。

統計資料如下:
嘗試失敗連結數 10,594
每小時總連結數 885.37
% 15.91 %

可以看出,串連失敗的比率非常高了。需要強調的是,一周之前,同樣的連結數,並沒有出現如此高的錯誤率。

原因分析:利用fport工具查看,你會發現有人在耗盡你的資料庫連接。而很明顯他們的特徵是:有數十個串連來自同一IP,而且都是time-waitk

解決方案:1。建議修改最大串連數,或者把 mysql_connect() 方法都改成了 mysql_pconnect() 方法, 
               2。治標,封鎖這些IP,一個IP串連大於3的就有點不正常,封
               3。治本,修改網站程式,嚴禁重新整理太快!
補充說明:可以直接在防火牆封鎖外部串連本地的3306連接埠!

 

轉載聲明:本文轉自http://bbs.bokecc.com/viewthread.php?tid=76307

====================================================================

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.