3

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

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.*

我该如何解决?

4

5 回答 5

3

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

手动打开端口

即使这样做了,您也可能会遇到安全异常。使用 mysqlGRANT查询来授予权限。

mysql> GRANT ALL PRIVILEGES ON db_base.* TO db_user @'ip_address' IDENTIFIED BY 'db_passwd';

授予示例

于 2012-10-15T05:18:50.097 回答
2

在DB所在电脑的防火墙上打开3306端口。

于 2012-10-14T19:49:36.843 回答
1

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

于 2012-10-14T19:46:37.020 回答
1
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
于 2016-07-15T13:13:14.337 回答
-1

相应地更改您的代码:

Class.forName("com.mysql.jdbc.Driver");         
con = DriverManager.getConnection("jdbc:mysql://192.168.0.1:3306/dbtina",
  "root","1234");
于 2016-01-25T13:49:36.983 回答