1. 程式人生 > >[數據庫] windows server 2003下mysql出現10048錯誤的解決辦法 Can't connect to MySQL server on '127.0.0.1' (10048)

[數據庫] windows server 2003下mysql出現10048錯誤的解決辦法 Can't connect to MySQL server on '127.0.0.1' (10048)

ont 兩個 設置 window 允許 param 啟動服務 key 導致

網站訪問量大了的時候mysql連接數自然就多了,當超出mysql最大連接數的時候就會出現錯誤,當出現too many字樣的錯誤的時候一般是因為連接數的問題,只需要修改最大連接數max_conection就行了, 但在windows server 2003上還有一種常見錯誤, "Error: Can‘t connect to MySQL server on ‘localhost‘ (10048)" 這就不是最大連接數的問題了. 具體原因大概為:

1. mysql短時間內瞬間增加太多連接數,而tcp連接在短時間內又不釋放, 這樣就導致不能有新的連接產生,所以提示連接不到mysql數據庫.
2. 5000以下端口用完了,而5000以上端口禁止連接.

既然知道問題大概原因我們就從這兩個方面入手.

第一、
修改tcp連接釋放時間,在註冊表裏修改:
tcp連接釋放時間默認240,我們可以修改的小一些,一般在30-60之間就可以了.
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 註冊表子鍵
並創建名為 TcpTimedWaitDelay 的新 REG_DWORD 值
設置此值為十進制 30, 十六進制為 0×0000001e

第二、
修改允許連接最大端口號
MaxUserPort 設置(增加最大值端口連接):
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 註冊表子鍵
並創建名為 MaxUserPort 的新 REG_DWORD 值
設置此值為十進制最低 32768

第一、第二、執行完畢後重新啟動服務器。

至此問題解決。

[數據庫] windows server 2003下mysql出現10048錯誤的解決辦法 Can't connect to MySQL server on '127.0.0.1' (10048)