你所谓的外网连接,什么意思?(无论如何,把数据库放到外网上直接连接,都是非常不安全的)
是你从外网连接到内网的数据库服务器?
此时你需要指定怎么访问内网的数据库ip和端口,一般是通过 nat 端口映射实现,那么做了吗?(此时就外网ip上的端口就不一定是1433了、内网机器的1433防火墙打开了吗?)
还是你从内网连接到外网的数据库服务器?
这种情况下一般不会有多少限制,看远端的服务器是如何配置的了。
按照如下步骤检查:
1 确认数据库是否允许远程连接
>
有2种解决办法(其实是同样一种)--
1、引用 复兴高阳 的解答:错误代码651意思为
您的调制解调器(或其它连接设备)报告了一个错误。既未找到指定的端口。
解决办法:
1、远程访问记事簿文件和当前的“网络和拨号连接”配置可能不一致如果更改了通讯设备(例如:串行口或调制解调器),请确保重新配置“网络和拨号连接”。如果错误仍然存在,请删除并重新创建“网络和拨号连接”
2、win7 错误代码651,路由能上,拨号上不了
试一下:打开 \windows\system32\logfiles\wmi,双击打开wmi再打开里面的RtBackup 会提示你需要管理员权限 继续 重启,即可修复。
3、不行的话把wmi里的后缀为etl的文件删除包括RtBackup里的 重启
4、如果上面的都不管用的话那尝试一下,禁用本地连接-关机-检查猫的所有插头拔下重插-拔下猫的电源插头-等待2分钟 之后插上插头-开机。
5、最后一招先从别的能上网的系统的机子里复制下面这个文件 c:\windows\system32\drivers\raspppoesys 来替换你电脑里的这个文件。
2、下面这个网页有解答,但其谢绝转载:
系统连接不上数据库, 首先请排查是否由于网络不同造成的。 如果网络没有问题,请查看是否有人修改了系统的数据库配置文件,一般都是confing文件。 如果还确定没有人修改,可以查看查看或者重新启动数据库服务即可。
看看下面的对你有帮助么
在我们刚刚安装sql2005时经常遇到无法连接的问题,一般可归结为以下几类:
一"SQLServer不存在或访问被拒绝"
这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多
一般说来,有以下几种可能性:
1SQLServer名称或IP地址拼写有误
2服务器端网络配置有误
3客户端网络配置有误
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因
首先,检查网络物理连接
ping
如果ping不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISAServer防火墙软件可能会屏蔽对ping,telnet等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口
如果ping成功而,ping失败,则说明名字解析有问题,这时候要检查DNS服务是否正常
有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:
1使用记事本打开HOSTS文件(一般情况下位于C:)
添加一条IP地址与服务器名称的对应记录,如:
1721681024myserver
2或在SQLServer的客户端网络实用工具里面进行配置,后面会有详细说明
其次,使用telnet命令检查SQLServer服务器工作状态
telnet1433
如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQLServer服务器工作正常,并且正在监听1433端口的TCP/IP连接,如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动SQLServer服务,也可能服务器端没启用TCP/IP协议,或者服务器端没有在SQLServer默认的端口1433上监听
接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道是否启用了TCP/IP协议等等,可以利用SQLServer自带的服务器网络使用工具来进行检查
点击:程序MicrosoftSQLServer服务器网络使用工具
打开该工具后,在"常规"中可以看到服务器启用了哪些协议
一般而言,我们启用命名管道以及TCP/IP协议
点中TCP/IP协议,选择"属性",我们可以来检查SQKServer服务默认端口的设置
一般而言,我们使用SQLServer默认的1433端口如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接
接下来我们要到客户端检查客户端的网络配置
我们同样可以利用SQLServer自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具
点击:程序MicrosoftSQLServer客户端网络使用工具
打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议
一般而言,我们同样需要启用命名管道以及TCP/IP协议
点击TCP/IP协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致
单击"别名"选项卡,还可以为服务器配置别名服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同别名的设置与使用HOSTS文件有相似之处
通过以上几个方面的检查,基本上可以排除第一种错误
二"无法连接到服务器,用户xxx登陆失败"
该错误产生的原因是由于SQLServer使用了"仅Windows"的身份验证方式,因此用户无法使用SQLServer的登录帐户(如sa)进行连接解决方法如下所示:
1在服务器端使用企业管理器,并且选择"使用Windows身份验证"连接上SQLServer
2展开"SQLServer组",鼠标右键点击SQLServer服务器的名称,选择"属性",再选择"安全性"选项卡
3在"身份验证"下,选择"SQLServer和Windows"
4重新启动SQLServer服务
在以上解决方法中,如果在第1步中使用"使用Windows身份验证"连接SQLServer失败,那就通过修改注册表来解决此问题:
1点击"开始""运行",输入regedit,回车进入注册表编辑器
2依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MicrosoftMSSQLServerMSSQLServer]
3在屏幕右方找到名称"LoginMode",双击编辑双字节值
4将原值从1改为2,点击"确定"
5关闭注册表编辑器
6重新启动SQLServer服务
此时,用户可以成功地使用sa在企业管理器中新建SQLServer注册,但是仍然无法使用Windows身份验证模式来连接SQLServer
这是因为在SQLServer中有两个缺省的登录帐户:
被删除
要恢复这两个帐户,可以使用以下的方法:
1打开企业管理器,展开服务器组,然后展开服务器
2展开"安全性",右击"登录",然后单击"新建登录"
3在"名称"框中,输入
4在"服务器角色"选项卡中,选择"System"
5点击"确定"退出
6使用同样方法添加登录
说明:
以下注册表键:
HKEY_LOCAL_MSSQLServer
的值决定了SQLServer将采取何种身份验证模式
1表示使用"Windows身份验证"模式
2表示使用混合模式(Windows身份验证和SQLServer身份验证)
三提示连接超时
如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错
这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误有些情况下,由于局域网的网络问题,也会导致这样的错误
要解决这样的错误,可以修改客户端的连接超时设置
默认情况下,通过企业管理器注册另外一台SQLServer的超时设置是4秒,而查询分析器是15秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因)
具体步骤为:
企业管理器中的设置:
1在企业管理器中,选择菜单上的"工具",再选择"选项"
2在d出的"SQLServer企业管理器属性"窗口中,点击"高级"选项卡
3在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如20
查询分析器中的设置:
工具选项连接将登录超时设置为一个较大的数字
连接超时改为0
1、先保证ping通
2、在dos下写入telnetip1433不会报错
3、用ip连如企业管理器:
企业管理器
4、如果还不行:
sqlserver服务器
5、如果还不行:
sqlserver客户端
原因太多了,例如:
服务器名错误
用户名错误,
密码错误
服务器端口错误
服务器没有运行
服务器设置错误
你需要做的是:确认服务器运行,确认参数正确
解决办法参考(网上)
一:
我觉得可能是楼主的某些程序写的有问题,可能占用了连接而没有断开。另外,楼主的MYSQL服务器是不是安装有防火墙?特别是诺顿防火墙,我遇到过,明明是允许我的IP访问被保护的服务器,可是一段时间后,挪顿就认为我的IP是非法攻击,自动就给我IP封了,要么等20分钟(默认的规则),要么从新启动服务器就好了。。。。。。。
电脑常识
二:
您使用的是Windows *** 作系统,此错误与一个注册表键值TcpTimedWaitDelay有关。减小Windows中TcpTimedWaitDelay时间可解决此类问题,默认情况下为240(未设置的情况下也是这个数值)。 此项设置需要到注册表如下位置进行设置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersTcpTimedWaitDelay
如果注册表中没有TcpTimedWaitDelay这个项目,请增加这个项目,并设置为双字节(DWORD)类型。数值设置为30 ~ 60 之间即可。
数据仓库
三:
服务器ftp测试完毕,重新启动了一下。就一切稳定了。 不过仍然有几个问题没有搞清楚。心里不放心。
1。上周五的时候,ftp压力并不大的时候,30分钟在线统计900多人的时候,10%的比率出现mysql连接失败的10048错误。
2。我当时使用的连接方法是 mysql_connect()。服务器iis+php+isapi的方式。参考了一些资料以后,我当时马上把 mysql_connect() 方法都改成了 mysql_pconnect() 方法,当时,问题看上去是解决了。
3。周六,服务器开始ftp压力测试。15%的比率出现 mysql连接失败的 10048 10055 错误。比上次多了个10055错误。
关键不知道10048 10055错误代码具体代表的错误信息。应该说,问题仍然没有找到确切的答案。
人工智能
我开了serv-u,有4个socket连接,mysql马上挂了 数据挖掘研究院
以上就是关于外网连接数据库连接不上全部的内容,包括:外网连接数据库连接不上、为什么总是连接不上数据库、电信宽带连接不上怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)