远程无法连接SQL2000及MySQL的原因和解决办法
作者:
如果您的网站程序和数据库不在同一台服务器上,在连接数据库的时候,如果发生连接错误,一般是以下原因造成的
1。 没有在数据库管理面板中设置远程连接IP造成的。
说明:为了提高操作系统的安全性,所有使用了星外安全包的用户,在导
入ipsec策略后,SQL2000所使用的1433端口及MySQL使用的3306
端口就会自动被关闭。如果您需要在不同的服务器之间连接数据
库,您就需要在数据库管理面板中设置远程连接IP才能远程连接数
据库。
解决办法:您的数据库用户如果需要远程连接服务器的1433或3306端口,
您应该让这个用户自己登陆[星外虚拟主机管理平台]的用户
区,点数据库管理,点数据库面板中的设置远程IP,将这个用户
自己的远程连接IP填写进去,平台就会自动允许这个IP远程连
接服务器的1433或3306端口。
特别说明:如果你在数据据库面板中输入的远程IP不对,也会造成
无法连接的问题,如果你关了IP策略后就能正常连接
就是因为你输入的远程IP不对造成的。
对于双线服务器来说,对方的远程IP很可能和网卡中
看到的IP不一样,具体是什么只有测试才知道。测试
办法:在你的数据库服务器上做一个能显示IP的ASP
网页,让远程连接的电脑访问这个ASP网页,显示的
IP才是真正的远程连接IP。
2。 您自己在操作系统中启用了Windows自带的防火墙造成的。
说明:如果您使用了星外的安全包,Windows自带的防火墙是不需要启动
的,如果您不小心启动了它,就会造成1433及3306端口被完全关
闭,也就会造成远程无法连接SQL2000及MySQL了。
解决办法:在这台服务器上,找到网卡属性,找到防火墙的设置,点关闭
就可以解决了。
3。 您自己在操作系统中启用了网卡属性中的TCP/IP端口过滤造成的。
说明:如果您使用了星外的安全包,网卡属性中的TCP/IP端口过滤是不需
要启动,如果您不小心启动了它,就会造成1433及3306端口被关
闭,也就会造成远程无法连接SQL2000及MySQL了。
解决办法:在这台服务器上,找到网卡属性,找到TCP/IP端口过滤的设
置,点关闭就可以解决了。
4。 您自己在操作系统中安装了独立的防火墙(或杀毒)软件关了这些端口造
成的。
说明:如果您使用了星外的安全包,独立的防火墙软件,一般是不需要安
装的,如果您不小心安装了它,就会造成1433及3306端口被关闭,
也就会造成远程无法连接SQL2000及MySQL了。
解决办法:删除这些独立的防火墙软件。
5。 您的两台服务器所在的机房在路由器上作了限制造成的。
说明:有少量的机房为了防止蠕虫病毒,强行在路由器上限制了远程访问
1433及3306端口,就会造成远程无法连接SQL2000及MySQL了。
解决办法:联系机房服务器所有的机房解除限制。
6。 您的服务器安装了SQL2000,但是没有安装SQL2000的sp4补丁造成的。
说明:如果已排除了上述的1,2,3,4,5点的问题,您可以在数据库服
务器上,在dos中运行
netstat -an
再看看返回的结果中有没有1433端口存在。如果有1433,就表明是
前面的1,2,3,4,5点的问题造成的。如果返回的结果中查看不
到显示有1433端口,可能的原因是,你的SQL 2000没有安装sp4,
操作系统自动关了1433端口,就会造成远程无法连接SQL2000了。
解决办法:下载SQL200的sp4安装好后重启服务器就会正常。如果装了
sp4,还是无法找到1433不行,就要重装SQL 2000及sp4了。
7。 您在远程连接时输入的数据库用户名密码不对造成。
说明:您可以用以下的方式检查服务器上的1433端口是否打开,在您的网
站服务器上,在在dos中运行
telnet 服务器IP 1433
如果能连接就表明端口是打开的。那么,就是您在远程连接数据库
时输入的数据库用户名密码不对造成了无法连接。
如果不能连接,请按上述的1,2,3,4,5,6点来进行检查。
解决办法:重新改正确密码,再重新连接。
说明:为了提高操作系统的安全性,所有使用了星外安全包的用户,在导
入ipsec策略后,SQL2000所使用的1433端口及MySQL使用的3306
端口就会自动被关闭。如果您需要在不同的服务器之间连接数据
库,您就需要在数据库管理面板中设置远程连接IP才能远程连接数
据库。
解决办法:您的数据库用户如果需要远程连接服务器的1433或3306端口,
您应该让这个用户自己登陆[星外虚拟主机管理平台]的用户
区,点数据库管理,点数据库面板中的设置远程IP,将这个用户
自己的远程连接IP填写进去,平台就会自动允许这个IP远程连
接服务器的1433或3306端口。
特别说明:如果你在数据据库面板中输入的远程IP不对,也会造成
无法连接的问题,如果你关了IP策略后就能正常连接
就是因为你输入的远程IP不对造成的。
对于双线服务器来说,对方的远程IP很可能和网卡中
看到的IP不一样,具体是什么只有测试才知道。测试
办法:在你的数据库服务器上做一个能显示IP的ASP
网页,让远程连接的电脑访问这个ASP网页,显示的
IP才是真正的远程连接IP。
2。 您自己在操作系统中启用了Windows自带的防火墙造成的。
说明:如果您使用了星外的安全包,Windows自带的防火墙是不需要启动
的,如果您不小心启动了它,就会造成1433及3306端口被完全关
闭,也就会造成远程无法连接SQL2000及MySQL了。
解决办法:在这台服务器上,找到网卡属性,找到防火墙的设置,点关闭
就可以解决了。
3。 您自己在操作系统中启用了网卡属性中的TCP/IP端口过滤造成的。
说明:如果您使用了星外的安全包,网卡属性中的TCP/IP端口过滤是不需
要启动,如果您不小心启动了它,就会造成1433及3306端口被关
闭,也就会造成远程无法连接SQL2000及MySQL了。
解决办法:在这台服务器上,找到网卡属性,找到TCP/IP端口过滤的设
置,点关闭就可以解决了。
4。 您自己在操作系统中安装了独立的防火墙(或杀毒)软件关了这些端口造
成的。
说明:如果您使用了星外的安全包,独立的防火墙软件,一般是不需要安
装的,如果您不小心安装了它,就会造成1433及3306端口被关闭,
也就会造成远程无法连接SQL2000及MySQL了。
解决办法:删除这些独立的防火墙软件。
5。 您的两台服务器所在的机房在路由器上作了限制造成的。
说明:有少量的机房为了防止蠕虫病毒,强行在路由器上限制了远程访问
1433及3306端口,就会造成远程无法连接SQL2000及MySQL了。
解决办法:联系机房服务器所有的机房解除限制。
6。 您的服务器安装了SQL2000,但是没有安装SQL2000的sp4补丁造成的。
说明:如果已排除了上述的1,2,3,4,5点的问题,您可以在数据库服
务器上,在dos中运行
netstat -an
再看看返回的结果中有没有1433端口存在。如果有1433,就表明是
前面的1,2,3,4,5点的问题造成的。如果返回的结果中查看不
到显示有1433端口,可能的原因是,你的SQL 2000没有安装sp4,
操作系统自动关了1433端口,就会造成远程无法连接SQL2000了。
解决办法:下载SQL200的sp4安装好后重启服务器就会正常。如果装了
sp4,还是无法找到1433不行,就要重装SQL 2000及sp4了。
7。 您在远程连接时输入的数据库用户名密码不对造成。
说明:您可以用以下的方式检查服务器上的1433端口是否打开,在您的网
站服务器上,在在dos中运行
telnet 服务器IP 1433
如果能连接就表明端口是打开的。那么,就是您在远程连接数据库
时输入的数据库用户名密码不对造成了无法连接。
如果不能连接,请按上述的1,2,3,4,5,6点来进行检查。
解决办法:重新改正确密码,再重新连接。