Я пытаюсь подключить мое приложение загрузки Spring с сервером MySQL.
Я правильно следил за документацией, но все же, я получаю некоторую проблему в связи. Следующее исключение бросает каждый раз
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
Прежде всего перезапустите сервер MySQL и повторите попытку... Если это не так...
Вы добавили детали application.properties
и JPA, зависимость от MySQL? Не могли бы вы показать файл pom.xml
файл application.properties
.
appication.properties
spring.mvc.view.prefix=/WEB-INF/JSP/ #jsp file path
spring.mvc.view.suffix=.jsp
#Hibernate
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.generate-ddl=true
#JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
pom.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Спасибо...!
Чтобы обойти эту ошибку, мне нужно войти в MySql с именем пользователя и паролем, хранящимся в файле application.properties, с помощью MySql Workbench. После этого ошибка больше не возникает. Это происходит только при попытке запустить проект загрузки Spring после перезапуска сервера MySql.
UPDATE: добавление "& allowPublicKeyRetrieval = true" к моему spring.datasource.url в файле application.properties решило проблему. Я понял это после того, как я заметил еще одну ошибку в журналах: "MySQL Public Key Retrieval не разрешен"
spring.datasource.url = JDBC: MySQL://локальный: 3306/db_example autoReconnect = истина & UseSSL = ложь и allowPublicKeyRetrieval = истина