3

我们的服务器托管了一个混合的 asp 和 php 网站。(Windows 服务器)

几个月来,mySQL 一直在畅通无阻地工作,但现在突然停止工作了。

我尝试使用正确的凭据连接到 MySql,结果是:

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10055)

我尝试使用 net stop MySql 和 net start MySql 重新启动服务,但无济于事。

我也尝试过使用telnet localhost 3306andtelnet 127.0.0.1并且可以确认该端口不可访问。

我的托管服务提供商已经检查了该步骤,但不知道如何补救这种情况。他们还检查了防火墙设置,一切似乎都是正确的。

4

1 回答 1

0

在磁盘上查找物理数据库文件。支持他们。重新启动主机。然后按照以下步骤操作:

  1. 单击开始,单击运行,键入 regedit.exe,然后单击确定。
  2. 找到并单击以下注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  1. 在编辑菜单上,指向新建,然后单击 DWORD 值。
  2. 键入 MaxUserPort,然后按 Enter。
  3. 双击 MaxUserPort 值,然后以十进制或十六进制键入最大值。

您必须键入 500065534(十进制)范围内的数字。将此参数设置为有效范围之外的值会导致使用最接近的有效值(5000 或 65534)。

  1. 单击确定。
  2. 退出注册表编辑器。

再次重新启动主机。你现在应该没事了。

这个问题是因为 IIS 完全是垃圾,并且不断消耗端口以使用 ODBC 连接到 MySQL。没有最大端口值,因此当所有 prot 都用完时,应用程序崩溃。您可以按照上面的 stebs 或通过查看您的 asp.net 应用程序以使用 mysql connnect / net 而不是 ODBC 来解决此问题。

于 2013-06-04T11:24:12.393 回答