q987654 发表于 2016-10-23 06:36:00

在Windows上与MySQL服务器的连接失败(大数据量)

  发生的异常:
  
  The driver was unable to create a connection due to an inability
to establish the client portion of a socket.

  This is usually caused by a limit on the number of sockets
imposed by the operating system. This limit is usually
configurable.

  For Unix-based platforms, see the manual page for the 'ulimit'
command. Kernel or system reconfiguration may also be required.

  For Windows-based platforms, see Microsoft Knowledge Base
Article 196271 (Q196271).

  
  
  原因与解决方法:


  
  1.操作系统对半连接数的限制。
  
  这个可以使用迅雷菜单中的工具进行修改,或者使用tcpz软件来修改,其他的如:XP优化工具也有这个功能。
  
  2.经过以上的修改还是发生异常
  
  这个从MySQL的官方帮助文档中,有如下:
  
  当你在具有很多TCP/IP
连接的Windows
上运行MySQL
服务器,并经常在客户端上遇到“无法连接到MySQL
服务器”错误时,可能是因为Windows
不允许足够的临时(短命)端口用于这类连接。

  默认情况下,Windows
允许用于使用5000
个临时(短命)TCP
端口。任何端口关闭后,它将在TIME_WAIT
状态保持120
秒。与重新初始化全新的连接相比,该状态允许以更低的开销重新使用连接。
但是,在该时间逝去前,无法再次使用该端口。
  对于小的可用TCP
端口堆栈(5000
),以及具有TIME_WAIT
状态的大量在短时间内打开和关闭的
TCP
端口,你很可能遇到端口耗尽问题。处理该问题的方法有两种:
  ·        


通过调查连接池以及可能的持久连接,减少快速消耗的TCP
端口数。
  ·        


调整Windows
注册表中的某些设置(请参见下面)。
  要点:下述步骤涉及更改Windows

注册表。更改注册表之前,请备份注册表,并确认你已掌握在出现问题时恢复注册表的方法。关于备份年、恢复和编辑注册表的更多信息,请请参见Microsoft
知识库中的下述文献:http://support.microsoft.com/kb/256986/EN-US/




  ·        

启动注册表编辑器(Regedt32.exe
)。
  ·        

在注册表中确定下述键值的位置:

·               

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  ·        

在“编辑”菜单上点击“添加值”,然后增加下述注册值:

·               

Value Name: MaxUserPort

·               

Data Type: REG_DWORD

·               

Value: 65534

  它用于设置为任何用户提供的临时端口数。有效范围介于5000
和65534
之间(十进制)。默认值为0x1388
(5000
,十进制)。
  ·        

在“编辑”菜单上点击“添加值”,然后增加下述注册值:

·               

Value Name: TcpTimedWaitDelay

·               

Data Type: REG_DWORD

·               

Value: 30

  它用于设置关闭之前将TCP
端口连接保持在TIME_WAIT
状态的秒数。
有效范围介于0
秒和300
秒之间。默认值为0x78
(120
秒)。
  ·        

退出注册表编辑器。
  ·        

重新引导机器。
  注释:撤销上述设置十分简单,就像删除你创建的注册表一样。
  
  
  经过以上的修改,OK!
  
  呵呵,上面的问题主要还是连接问题,也可以用批量数据插入或者使用连接池
  
  ------------------------------------------------------------------------------------------------
  
  
  
页: [1]
查看完整版本: 在Windows上与MySQL服务器的连接失败(大数据量)