当前位置:首页 > 开发 > 操作系统 > 正文

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

发表于: 2014-03-12   作者:aigo   来源:转载   浏览次数:
摘要: 转载,原文不知道出处   发生的异常: 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 im

转载,原文不知道出处

 

发生的异常:

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!

 

呵呵,上面的问题主要还是连接问题,也可以用批量数据插入或者使用连接池

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
python 连接mysql 失败: OperationalError: (2002, "Can't connect to local MySQL server through
先来一段MySQLdb(类似于mysql用于Java的连接Jar包)的幽默介绍: Windows ....... I don't do Windows
在使用mysql数据库,新建连接时,会报2003-Can't connect to server on 'localhost'(10038)错误,原
Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.本文介绍Windows上 Visu
1. 在SQL SERVER端安装MYSQL的ODBC驱动 2. 在ODBC数据源添加MYSQL(控制面板\所有控制面板项\管理工
Windows Azure上提供了多种PaaS服务,在数据库部分,除了微软自己的SQL database之外,用户还可以使
看过不少这方面的资料和帖子,都没有成功,QT官网的在win xp sp3下的貌似在win 7下也不行,至于国内
创建SQL数据库后,进入SQL管理页面,查看连接字符串 在连接字符串中,可以查看各种客户端的连接方式
安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yu
安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yu
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号