gpt4 book ai didi

java - 使用 Java 连接到 MySql - SSL 连接

转载 作者:行者123 更新时间:2023-11-29 01:02:46 26 4
gpt4 key购买 nike

我一直在尝试连接到使用 java ssl 连接的 MySql 数据库,但遇到了麻烦,如果有人能帮助我,那将是很大的帮助。

手动连接到 MySql:

我们使用 MySQL Workbench,参数 - 主机名 - "test-db1-ro-xxxxxx.net",端口 - 3306,用户名,密码。有一个 SSL CA 文件 - mysql-ssl-ca-cert.pem ,手动连接成功。

我在 java 中尝试过同样的方法(在 windows 系统中)我的代码:

String url = "jdbc:mysql://test-db1-ro.apdev.XXXXXX.net:3306/database";
String driver = "com.mysql.jdbc.Driver";
String userName = "XXXXXXXX";
String password = "XXXXXXXX";
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(url,userName,password);

当我运行代码时,出现“拒绝访问”错误我认为这是由于 SSL 连接造成的。

在这种情况下,我不知道如何使用 .pem 文件与数据库建立安全连接。

有人可以帮忙吗,已经做了很多事情但总是得到相同的访问被拒绝错误。

完整的堆栈跟踪:

java.sql.SQLException: Access denied for user 'xxxxxxxx' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at TestDBConnection.main(TestDBConnection.java:34)

最佳答案

您在验证时遇到问题。
在 MySql 终端上:

GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

如果问题仍然存在:

GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;

此命令授予您 super 用户权限。

FLUSH PRIVILEGES;

确保您的权限已加载。

注意:请勿在公开访问的网站上使用此帐户。

关于java - 使用 Java 连接到 MySql - SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com