1.因为用到递归,检查循环有没有重复创建connection,检查没有而去每一步数据库的操作都做了close;在频繁的点击链接时就出现这个错误,考虑到
mysql连接数的问题。
2.在my.ini的[mysqld]下添加max_connections=500,不过在运行一段时间后还是会出同样的错误看来问题并不是出在连接数上,在mysql的官网上找到了
这个bug的解决方案,原来是由于windows的socket关闭时的 TIME_WAIT造成的,需要修改下注册表在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
下添加子项
Value Name: MaxUserPort
Data Type: REG_DWORD
Value: 65534
Value Name: TcpTimedWaitDelay
Data Type: REG_DWORD
Value: 30
修改完重启电脑,测试没发现这个问题了。