我用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);
即使我用我的IP而不是'localhost'更改了链接,这在我的PC1上也能正常工作。
在数据库中执行以下命令后,它起作用了:
GRANT ALL PRIVILEGES ON *.* TO [username]@[myIP] IDENTIFIED BY '[password]' WITH GRANT OPTION
因此,我尝试对PC2进行同样的操作,该PC2也存储此JAVA程序,但它已连接到另一个网络-NETWORK2。是否有可能发生-通过我的JAVA程序将PC2从外部网络连接到PC1上托管的mySQL数据库?
最佳答案
当然可以,为什么不呢?您只需要确保可以从其他网络访问PC1
,并且必须打开必要的端口(3306
)。
您可以从PC1
ping PC2
来检查是否可行。