簡體   English   中英

java mysql SSL 連接

[英]java mysql SSL connection

我正在嘗試建立從 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

嘗試將您的連接 url 更改為

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

您還必須確保您已在 mysql 上授予 ssl。 在 MySQL 服務器中以 root 身份登錄,並運行下面給出的查詢:

GRANT USAGE ON *.* TO 'root'@'%' REQUIRE SSL; 
FLUSH PRIVILEGES;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM