为了账号安全,请及时绑定邮箱和手机立即绑定

通过java程序远程连接mySQL

通过java程序远程连接mySQL

慕斯709654 2022-07-20 20:39:32
我用 xampp 托管 Apache 服务器,并在我的 PC1 上创建了本地 MYSQL 数据库。PC1 已连接到网络 1。我开发了简单的 Java 程序,它以这种方式连接到数据库:static final String USERNAME="[myusername]";static final String PASSWORD="[password]";static final String CONN_STRING="jdbc:mysql://[myIP]:3306/[database_name]";con=DriverManager.getConnection(CONN_STRING , USERNAME, PASSWORD);这在我的 PC1 上工作得非常好,即使我用我的 IP 而不是“localhost”更改了链接。在数据库中执行此命令后它起作用了:GRANT ALL PRIVILEGES ON *.* TO [username]@[myIP] IDENTIFIED BY '[password]' WITH GRANT OPTION所以我想对我的 PC2 做同样的事情,它也存储这个 JAVA 程序,但它连接到另一个网络 - NETWORK2。是否有可能发生这种情况 - 通过我的 JAVA 程序将 PC2 从外部网络连接到 PC1 上托管的 mySQL 数据库?
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

当然,为什么不呢?您只需要确保您PC1可以从其他网络访问,并且必要的端口 ( 3306) 是打开的。

您可以 ping PC1fromPC2以检查这是否可行。


查看完整回答
反对 回复 2022-07-20
?
白衣非少年

TA贡献1155条经验 获得超0个赞

您需要将bind-addresslocalhost 更新为 mysql 服务器的 IP。找到mysql conf文件并编辑:

mysql conf 文件的位置是/etc/my.cnf or/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf

bind-address            = <IP address where MySql is running>

还要确保 mysql-server 机器的端口 3306 已打开并可从其他 PC 访问。然后添加所需的权限。


查看完整回答
反对 回复 2022-07-20
?
开满天机

TA贡献1786条经验 获得超13个赞

是的,您可以通过将两台计算机连接到同一个 LAN 连接来做到这一点。在此之后检查安装了 mysql 的 PC 的 IP 地址。您只需在终端上键入 ifconfig(linux)/ipcofing(window) 命令即可找到它。确保您使用的本地 IP 地址(显示为 192.168.1.144)不是公共的。

在我的 /usr/local/mysql/etc/my.cnf 文件中使用该 IP 地址进行绑定,并在您的 java 程序中使用该 IP 地址。您的代码将成功运行。


查看完整回答
反对 回复 2022-07-20
  • 3 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信