解决 : ECSHOP info: Can't Connect MySQL Server(localhost:

2016-07-07 15:11 来源:www.chinab4c.com 作者:ecshop专家

我通过以下方法解决了最近 偶尔提示不能连接mysql的问题
ECSHOP info: Can't Connect MySQL Server(localhost:3306)!

我的网站的症状是最近偶尔出现连不上mysql我查了很多资料 昨天通过如下修改,从昨天中午到现在 一天多一直都没再出现问题。原来一两个小时就出一次,现在24小时了都没问题。。。

把解决方案共享出来:
转载别人博客的,希望对大家有用


近日,一大批服务器出现MYSQL频繁掉线,刷新后又正常的问题。

出现该问题的均是windows主机,并且按照官方常规错误搜索出来的解决方法无效。

症状:
Can't connect to MySQL server on 'localhost' (10061)

原因:微软9月9日发布了TCP/IP更新补丁(KB967723),如果服务器开启自动更新或者有自动更新软件下载更新了这个补丁,那么就会出现这个问题。

有人可能会问,为什么9号出现的补丁,到现在才发现问题?

大家都知道,服务器不是每天都重启的,有的服务器可能一个月或者一年半载重启一次,有的可能在9月9日以后重启过服务器,所以补丁生效了(我个人这么认为)。

补丁卸载方法:登录服务器,进入控制面板 --- 添加和删除程序 -- (勾选上方的“显示更新”)

在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择“是”,继续卸载。

卸载完成后程序服务器,一切正常!

至于该补丁修补什么漏洞,卸载后是否会出现服务器安全隐患,这个先不说,要MYSQL正常运行,临时的解决办法只有如此。

 解决 ECSHOP info: Can't Connect MySQL Server(localhost:3306)方法2

 

这几天有一台MySQL数据库服务器出现了频繁的掉线情况,通过排查,并没有排查出哪个网站被攻击,百思不得其解中的时候,群里有个朋友说是因为微软KB967723造成的,网上搜索了一下,果然很多人都是这样的问题,都是windows系统下安装的MySQL造成的,网上一共提供了两种方法:

第一种:卸载KB967723补丁
登录服务器,进入控制面板 — 添加和删除程序 — (勾选上方的“显示更新”)在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择“是”,继续卸载。卸载完成后重启数据库服务器。

第二种:修改注册表
本方法是微软给出的修改注册表修复该Bug的的方法,原因是默认最大的临时 TCP 端口的数是 5000 适用于一节中包含的产品中。 在这些产品中添加一个新参数。 要提高临时端口的上限,请按照下列步骤操作:

启动注册表编辑器。
在的注册表中找到以下子项,然后单击 参数 :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在 编辑 菜单上单击 新建 ,,,然后添加下面的注册表项:
数值名称: MaxUserPort
值类型: DWORD
值数据: 65534
有效范围: 5000-65534 (十进制)
默认值: 0x1388 (5000 十进制)
说明: 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常,1024 的值和包含的 5000 之间分配临时的 (短) 端口。
退出注册表编辑器,并重新启动计算机。

微软原文链接:http://support.microsoft.com/kb/q196271
如果不会修改注册表编辑器,也可以下载补丁来执行,补丁下载地址:KB967723BUG.rar,下载后直接双击执行压缩包中的reg文件即可。

以上两种方法,第一种已经得到验证可以正确解决,第二种方法正在验证中。

 解决 ECSHOP info: Can't Connect MySQL Server(localhost:3306)方法3:

 

我的两个网站也出现这样的问题了.可是就算像上面的解决方式可以.可是我们的客户用他们的电脑打开我们的网站时还是会出现这种问题啊.这样解决我们自己电脑上的问题有什么用.这只是 掩耳盗铃 的一种方法.求真真的解决办法!!!!!

 

我的是linux 的怎么办啊 今天遇到了这个问题 config.php配置也是对的 没改过
把 includes\cls_mysql.php 中 $pconnect = 0 换成 $pconnect = 1 ;也不行
怎么办啊

 

刚刚突然可以了 因为是linux没法根据楼主的方法改所以我没有做任何操作
联系万网那边是否是服务器不稳定 他们也反映没有 我的主机也没有任何异常
不知道怎么回事 真担心过一会又出现这样的问题 不知道怎么办

解决 ECSHOP info: Can't Connect MySQL Server(localhost:3306)方法4:

可以看下是否是ecshop数据库配置文件不对,有关ecshop数据库配置文件位置于data/config.php