如何通过网络从计算机2连接到位于计算机1上的mysql服务器?

时间:2019-01-09 18:04:22

标签: java mysql jdbc

我正在尝试从另一台与运行mysql服务器的网络位于不同网络的计算机连接到mysql服务器;所有这些都来自使用DAO类的Java代码。

首先,如果我在mysql服务器的同一网络上,则可以使用本地ip 192.168.X.X连接到数据库;如果我的计算机连接到其他网络,则无法执行此操作。 我已经做了以下事情:

  • 授予对用户(不同于root用户)的访问权限,以访问和修改数据库中的表。
  • 修改文件mysqld.cnf并将行bind-address注释掉,以接收来自IPv4和IPv6地址的连接
  • 在我的mysql服务器计算机和其他计算机的防火墙中创建规则,以允许在特定端口上进行连接(输入和输出)
  • 试图使用网站canyouseeme,该网站可让您发现您的“外部” IP地址,还允许您使用该IP地址ping机器,以ping mysql服务器计算机上的端口,但我无法ping通它们;结果是每个端口的“连接超时”

我应该怎么做才能连接到数据库?

2 个答案:

答案 0 :(得分:0)

如果计算机2是通过与计算机1不同的调制解调器或Internet提供商连接到Internet的,则需要打开调制解调器cofig中的3306端口并重定向到计算机2的本地ip,配置取决于您的调制解调器模型

最后,您需要在项目配置中使用网络2的外部IP作为主机,并在mysql中使用主机%或网络1的外部IP(客户端)的用户

ps。我猜想comptuer 2是运行mysql的地方

答案 1 :(得分:-1)

您是否托管sql数据库?如果以某种方式托管它,则只能连接到其他网络上的服务器。

您可以使用类似WAMP的名称。您将需要一些安全知识,并且它需要一个静态IP。

最简单的方法是从受信任的公司购买托管域和一些内存空间,然后将所有东西扔在那里。只是Google托管服务。