Can't connect to MySQL server on (99) 解法

来源:互联网 发布:淘宝类目排名查询 编辑:程序博客网 时间:2024/06/09 21:21

转自:http://blog.longwin.com.tw/2013/06/mysql-connect-error-99-resolve-2013/

追查到的主因在於 Connection 太多, 於是 TCP (Port) 不夠用, 於是就會出現此錯誤訊息, 解法如下:

先查看系統預設值

  • $ sudo sysctl -a | grep tcp_tw
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 0
  • $ sudo sysctl -a | grep tcp_syncookies
    net.ipv4.tcp_syncookies = 1
  • $ sudo sysctl -a | grep tcp_fin_timeout
    net.ipv4.tcp_fin_timeout = 60

解法: (於 Server 設定即可)

  1. vim /etc/sysctl.conf
    net.ipv4.tcp_syncookies =1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle =1
    net.ipv4.tcp_fin_timeout= 5
  2. sudo sysctl -p # 讓設定能動, -p, --load[=<file>]  read values from file
  3. 相關網頁

    • MySQL Lists: mysql: Re: error 99(?) : can't connect to MySQL server
    • Are PHP persistent connections evil ? - 下述摘錄自此文:

      On Linux you can adjust “/proc/sys/net/ipv4/ip_local_port_range” to get more local ports available and “/proc/sys/net/ipv4/tcp_fin_timeout” to reduce recycle delay.

    • 關於流量升高導致TIME_WAIT增加,MySQL連接大量失敗的問題 « 搜索技術博客-淘寶
0 0
原创粉丝点击