java mysql SSL连接

问题描述 投票:-1回答:1

我正在尝试建立从Java应用程序到mysql服务器的SSL连接。以下是设置详细信息。

  • java 8
  • mysql服务器版本:5.7.28
  • mysql-connector-java-8.0.12
  • 连接字符串:jdbc:mysql:// localhost:3306 / carbon_mysql?autoReconnect = true&useSSL = true&requireSSL = true

但是当我尝试通过Java应用程序进行连接时,将引发以下异常。

Caused by: com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near '=true&requireSSL=true'.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:59)
at com.mysql.cj.conf.ConnectionUrlParser.processKeyValuePattern(ConnectionUrlParser.java:524)
at com.mysql.cj.conf.ConnectionUrlParser.parseQuerySection(ConnectionUrlParser.java:496)
at com.mysql.cj.conf.ConnectionUrlParser.getProperties(ConnectionUrlParser.java:621)
at com.mysql.cj.conf.ConnectionUrl.collectProperties(ConnectionUrl.java:302)
at com.mysql.cj.conf.ConnectionUrl.<init>(ConnectionUrl.java:287)
at com.mysql.cj.conf.url.SingleConnectionUrl.<init>(SingleConnectionUrl.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.util.Util.handleNewInstance(Util.java:210)
at com.mysql.cj.util.Util.getInstance(Util.java:185)
at com.mysql.cj.util.Util.getInstance(Util.java:192)
at com.mysql.cj.conf.ConnectionUrl.getConnectionUrlInstance(ConnectionUrl.java:189)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:201)
... 83 more
java mysql ssl jdbc connection-string
1个回答
0
投票

尝试将您的连接网址更改为

jdbc:mysql:// localhost:3306 / carbon_mysql?autoReconnect = true&useSSL = true&requireSSL = true&verifyServerCertificate = true

您还必须确保已在mysql上授予ssl。以root用户身份登录MySQL服务器,然后运行以下给出的查询:

GRANT USAGE ON *.* TO 'root'@'%' REQUIRE SSL; 
FLUSH PRIVILEGES;
© www.soinside.com 2019 - 2024. All rights reserved.