首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -无法解析端口?

MySQL -无法解析端口?
EN

Stack Overflow用户
提问于 2012-09-18 12:01:37
回答 2查看 446关注 0票数 1

你好斯塔克沃弗。

我目前正在使用000webhost.com作为我的MySQL数据库/服务器提供者。使用PHP,他们的服务非常出色!

我制作了一堆包含MySQL用户名、密码、主机、DB、et的变量。如下所示:

代码语言:javascript
复制
$mysql_host = "mysql3.000webhost.com";
$mysql_database = "a1966938_AtMarke";
$mysql_user = "a1966938_admin";
$mysql_password = "**********";
$mysql_table = "MarketDatas";

我使用"mysql_connect($mysql_host,$mysql_user,$mysql_password)“连接到服务器。再说一遍,这一切都是完美的。但是,当我试图通过。Client (C#)它不允许我连接,或者如果我声明相同的变量并试图使用相同的变量和过程从另一个IP连接到服务器,它不会让我连接吗?

我很困惑-我应该怎么做,所以它允许所有的I?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-18 12:07:49

它不允许与其他it连接的原因可能有两个:

  • GRANT PRIVILEGES ... TO user@IP已授予该IP,但没有其他;如果您在数据库上拥有授予权限,您可能能够补救(请记住刷新权限)。
  • MySQL主机上的防火墙可能只允许来自它们自己的网络主机服务器的连接。如果是这样的话,你不太可能做任何事情,但是试着问问他们的支持人员。

通常,您可以实现一个用PHP编写的瘦REST层(只是谷歌'MySQL REST PHP接口‘之类的),这样您就可以连接到网络主机,并通过来自它们的接口的查询(当然是开放的--否则网络托管就无法工作)。这就是HeidiSQL在一些设置上所做的,它们的代码可能在某处浮动。然后,您将不使用C# MySQL库,而是使用HTTP库来完成这项工作。更麻烦,但更可移植(也是因为并非所有地方都可以预期端口3306/tcp会对外开放:它是在家庭ADSL上,但许多分布式运营商和公司只允许一些it和其他十几个输出端口80、443、110、25,而3306不是其中之一;但这取决于您计划如何处理C#客户端)。

但是,如果您得到“无法解析端口”,这也可能是由客户端库引起的,您可能必须手动指定MySQL连接端口值;默认值是3306,并且(通常)可以在主机名中指定它,例如"myserver.host.com:3306“。

票数 2
EN

Stack Overflow用户

发布于 2012-09-18 12:06:27

为了安全起见,主机公司通常会锁定MySQL服务器,以便只响应网络上的网络主机的IP地址。

所以,我恐怕简单的回答是,你可能不能把它设置为允许所有的it。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12476627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档