学习NO.1 发表于 2015-3-27 12:44:18

Can't connect to MySQL server on 'localhost'或(2003) notconnect解决方法


discuz x2.5版本会提示Discuz! Database Error(2003) notconnect,之前的版本提示Can't connect to MySQL server on 'localhost',下面分享下解决方法:

问题分析:

无法连接到 MySQL 服务器,可能的情况为:

1、MySQL 服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini 里 MySQL 的 basedir 路径设置错误等;

2、MySQL 服务器资源紧张,导致无法连接。

解决方法:

1、如果你是虚拟主机用户(购买的空间),则联系空间商检查 MySQL 是否正常启动,并确认 MySQL 的配置信息(是否为 localhost);

2、如果你是独立主机用户(拥有管理主机权限),则按下面步骤检查:

1)检查是否启动了 MySQL 服务。

Windows 主机的话,右键点击我的电脑,单击管理,在服务和应用程序中找到 MySQL 服务,看是否是已启动的状态。
Linux主机,在控制台执行 service mysql start 启动 MySQL 服务。

2)检查磁盘空间是否还有剩余可用空间,尽量保持有足够的磁盘空间可用。

3)检查 my.ini 里的 basedir (MySQL 安装地址) 和 datadir (数据目录存放地址)等参数设置是否正确,然后重新启动下 MySQL 服务。

4)如果在刷新后偶尔能够正常显示而且服务器是Windows系统的话,那么减小Windows中TcpTimedWaitDelay时间可解决此类问题,默认情况下为240(未设置的情况下也是这个数值)此项设置需要到注册表如下位置进行设置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay如果注册表中没有TcpTimedWaitDelay这个项目,请增加这个项目,并设置为双字节(DWORD)类型数值设置为30 ~ 60 之间即可。

5)如果是微软补丁问题,按照下面步骤:找到注册表路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
新增 MaxUserPort
值名称: MaxUserPort
值类型: DWORD
建议值为 65533{有效范围: 5000 65534 (十进制)}
退出注册表,重启计算机即可解决。



页: [1]
查看完整版本: Can't connect to MySQL server on 'localhost'或(2003) notconnect解决方法