Ответ 1
Я исправил свою проблему следующим образом:
jdbc:mysql://localhost:3306/test?verifyServerCertificate=false&useSSL=false&requireSSL=false
Я пытаюсь отключить ssl, в свою локальную базу данных mysql. Но я не могу найти фактическое свойство в файле spring application.properties, который бы это сделал.
Мой текущий файл:
# ===============================
# = DATA SOURCE
# ===============================
# Set here configurations for the database connection
# Connection url for the database "test"
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# Username and password
spring.datasource.username = root
spring.datasource.password = blah
# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
# ===============================
# = JPA / HIBERNATE
# ===============================
# Use spring.jpa.properties.* for Hibernate native properties (the prefix is
# stripped before adding them to the entity manager).
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update): with "update" the database
# schema will be automatically updated accordingly to java entities found in
# the project
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# Allows Hibernate to generate SQL optimized for a particular DBMS
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
Я пробовал spring.datasource.useSSl=false
, и это не работает. Я также пробовал spring.datasource.url = jdbc:mysql://localhost:3306/test&useSSL=false
Я исправил свою проблему следующим образом:
jdbc:mysql://localhost:3306/test?verifyServerCertificate=false&useSSL=false&requireSSL=false
Разве вы не должны использовать '?' вместо '&'
Это ваш
spring.datasource.url =jdbc:mysql://localhost:3306/test&useSSL=false
То, что я говорю, это
spring.datasource.url = jdbc:mysql://localhost:3306/test?useSSL=false
Я не люблю загрязнять параметры java
или свойства системы, которые бесполезны в контейнерах приложений в любом случае...
Вы можете запрограммировать SSL-сертификат для подключения MySQL:
JDBC: MySQL://example.com: 3306/MYDB verifyServerCertificate = верно и UseSSL = верно и RequireSSL = истина & clientCertificateKeyStoreUrl = Файл: CERT/keystore.jks & clientCertificateKeyStorePassword = 123456 & trustCertificateKeyStoreUrl = Файл: CERT/truststore.jks & trustCertificateKeyStorePassword = 123456
Документировано: