首页 > 常识 > 互联网 > 网站制作 > 常见问题

Cann't connect to DB! 的解决方法

作者:  时间:2016-05-07
描述:PHP+MYSQL出现Cann't connect to DB!(连接不到数据库)的解决方法。
《生活宝典shenghuobaodian.com》本文介绍PHP+MYSQL出现Cann't connect to DB!(连接不到数据库)的解决方法。
 
Cann't connect to DB!
 
为什么我登陆后台,或是打开留言页面,我的问题是刷新出现的这个问题部会出现Cann't connect to DB!
 
IP是动态的?
 
是偶尔出现,还是从来没有正常登录过?或者从某个时候开始一直不能登录? 
 
mysql链接不上
1、服务器mysql 挂了
2、修改过数据库密码,但没有修改帝国CMS的数据库配置文件e/class/config.php
 
打开e/class/下面的config.php文件,看看下面的配置跟你的数据库信息是不是一样就知道了
//数据库设置
$phome_use_db="mysql";        //数据库类型
$phome_use_dbver="5.0";        //数据库版本
$phome_db_server="localhost";        //数据库登陆地址
$phome_db_port="";        //端口,不填为按默认
$phome_db_username="it-t.com.cn";        //数据库用户名
$phome_db_password="it-t.com.cn";        //数据库密码
$phome_db_dbname="it-t.com.cn";        //数据库名
$phome_db_char="gbk";        //设置默认编码
$phome_db_dbchar="gbk";        //数据库默认编码
$dbtbpre="wangchuang_";        //数据表前缀
$ecmslang="gb";        //语言包
 
上面的数据库用户名密码自己去你的数据库管理面板里面找
 
今天安装了帝国CMS,(以前安装过,运行都没问题的!),在本地运行,发现进入帝国cms后台或者留言时都出现Cann't connect to DB!。首先反应就是sql数据库出了问题,但以前完全可以的,郁闷!从网上搜一下,发现用帝国CMS建的网站好多出现了 Cann't connect to DB! 重新安装了mysql也不管用?
 
最后找到解决方法和大家分享: 首先检查服务器有没有mysql进程,如果在本地CTRL+ALT+DEL查看下有没有mysqld-nt.exe进程。如果没有mysqld-nt.exe进程,说明你的mysql没有启动,到window控制面板的服务那启动mysql就可以了。
 
如果没有解决请继续看以下两种方法:
 
2.服务器出现MYSQL频繁掉线,刷新后又正常的解决方法。
 
出现该问题的均是windows主机,并且按照官方常规错误搜索出来的解决方法无效。
 
症状:Can't connect to MySQL server on 'localhost' (10061)
 
原因:微软9月9日发布了TCP/IP更新补丁(KB967723),如果服务器开启自动更新或者有自动更新软件下载更新了这个补丁,那么就会出现这个问题。
 
补丁卸载方法:登录服务器,进入控制面板 --- 添加和删除程序 -- (勾选上方的“显示更新”)
 
在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择“是”,继续卸载。
 
卸载完成后程序服务器,一切正常!
 
3.无需卸载补丁
 
参考如下:关于 WSAENOBUFS (10055) 来自微软帮助:http://support.microsoft.com/kb/196271 
出现以上问题的原因:
 
如果您尝试建立 TCP 连接从大于 5000 的端口,本地计算机将响应以下 WSAENOBUFS (10055) 错误消息:
 
由于系统缺少缓冲区空间不足或队列已满,无法执行套接字上的操作。
 
默认最大的临时 TCP 端口的数是 5000 。 要提高临时端口的上限,请按照下列步骤操作:
 
启动注册表编辑器。
 
在的注册表中找到以下子项,然后单击参数 :
 
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
 
在 编辑 菜单上单击 新建 ,然后添加下面的注册表项:
 
数值名称: MaxUserPort
 
值类型: DWORD
 
值数据: 65534
 
有效范围: 5000-65534 (十进制)
 
默认值: 0x1388 (5000 十进制)
 
说明: 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常,1024 的值和包含的 5000 之间分配临时的 (短) 端口。
 
退出注册表编辑器,并重新启动计算机。
 
 
最近经常出现 Cann't connect to DB! 不定时的出现 Cann't connect to DB! mysql重新安装了也不管用?后来找到了解决方法。
 
方法一:
 
MYSQL频繁掉线,刷新后正常的解决方法:
 
近日,一大批服务器出现MYSQL频繁掉线,刷新后又正常的问题。出现该问题的均是windows主机,并且按照官方常规错误搜索出来的解决方法无效。
 
症状:Can't connect to MySQL server on 'localhost' (10061)
 
原因:微软9月9日发布了TCP/IP更新补丁(KB967723),如果服务器开启自动更新或者有自动更新软件下载更新了这个补丁,那么就会出现这个问题。
 
有人可能会问,为什么9号出现的补丁,到现在才发现问题?
 
大家都知道,服务器不是每天都重启的,有的服务器可能一个月或者一年半载重启一次,有的可能在9月9日以后重启过服务器,所以补丁生效了(我个人这么认为)。
 
补丁卸载方法:登录服务器,进入控制面板 --- 添加和删除程序 -- (勾选上方的“显示更新”)
 
在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择“是”,继续卸载。
 
卸载完成后程序服务器,一切正常!
 
至于该补丁修补什么漏洞,卸载后是否会出现服务器安全隐患,这个先不说,要MYSQL正常运行,临时的解决办法只有如此。
 
方法二:
 
这个方法来自微软,据说不用方法一也可以解决。
 
无需卸载补丁 参考如下:关于 WSAENOBUFS (10055)
 
来自微软帮助: http://support.microsoft.com/kb/196271
 
如果您尝试建立 TCP 连接从大于 5000 的端口,本地计算机将响应以下 WSAENOBUFS (10055) 错误消息:
 
由于系统缺少缓冲区空间不足或队列已满,无法执行套接字上的操作。
 
默认最大的临时 TCP 端口的数是 5000 。 要提高临时端口的上限,请按照下列步骤操作:
 
启动注册表编辑器。
 
在的注册表中找到以下子项,然后单击 参数 :
 
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
 
在 编辑 菜单上单击 新建 ,然后添加下面的注册表项:
 
数值名称: MaxUserPort
 
值类型: DWORD
 
值数据: 65534
 
有效范围: 5000-65534 (十进制)
 
默认值: 0x1388 (5000 十进制)
 
说明: 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常,1024 的值和包含的 5000 之间分配临时的 (短) 端口。
 
退出注册表编辑器,并重新启动计算机。
 
请注意其他的 TCPTimedWaitDelay 注册表参数确定在多长时间关闭的端口等可重复使用已关闭的端口。

从手机浏览器访问《生活宝典》

站内搜索
无相关信息
微商帮
世界网站大全
中国科研团队:大象的长鼻子是如何越变越长了
中国科研团队:大象的长
自己是否能够像自己想的那样做成一件事,身旁人的判断会比自己准确
自己是否能够像自己想
火宫殿:吃喝玩乐看,烧香拜神佛,红火的庙会经济
火宫殿:吃喝玩乐看,烧香
眼见为实也不为实,更须谨慎看到的并非全貌
眼见为实也不为实,更须