如何使用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");
- Hibernate忽略了fetchgraph
- 如何在Jasper Reports中为十进制数指定RoundingMode
- 如何解决ClassNotFoundException:com.mongodb.connection.BufferProvider?
- Apache Maven Assembly Plugin不支持OSGi捆绑包
- hadoop mapreduce:java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z
- 扫描仪与InputStreamReader
- 对于流行的Java库,“附加源”是否更容易?
- 新的ArrayList ()在Java中失败
- 混合Hamcrest和TestNG