如何使用java和jdbc和sql成功访问另一台计算机上的数据库?

我在另一台电脑上有这个数据库,我想通过使用这样的连接字符串来访问它。

Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://192.168.0.1/dbtina","root","1234"); 

“dbtina”是我们的数据库。 “1234”是我们的密码。 我们已经将ip配置为这样,因为我们使用的是有线连接(点对点)。

 Exception: Communications link failure Last packet sent to the server was 0 ms ago.* 

我该如何解决?

打开数据库所在计算机防火墙上的3306端口。

只需禁用防火墙。 或打开端口3306 for mysql使用此链接,如果它有帮助

手动打开端口

即使这样做,您可能会遇到安全exception。 使用mysql GRANT查询来授予权限。

mysql>在db_base上授予所有特权。*到db_user @’ip_address’由’db_passwd’标识;

授予例子

您必须在数据库计算机上配置防火墙,以允许来自特定端口上不同计算机的流量。

 GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; 

相应地更改您的代码:

 Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://192.168.0.1:3306/dbtina", "root","1234");