2017-09-29 7 views
0

내 Mac에서 VirtualBox를 실행하고 IP 주소가 192.168.56.15 인 호스트 전용 네트워크 어댑터를 사용합니다. VM의 IP 주소를 192.168.56.107으로 설정했습니다.VirtualBox에서 실행되는 mysql 데이터베이스에 연결할 수 없습니다 호스트 전용 네트워크가있는 우분투 VM

Host : MacOs High Sierra 
Guest VM: Ubuntu 

은 내가 설치하고 VM에 MySQL 데이터베이스를 구성하고 나는 데이터베이스에 원격으로 액세스 할 수 있도록 사용자 appuser를 설정했다.

이제 내 Mac에서 SpringBoot 응용 프로그램을 실행하려고 할 때 Eclipse 내에서 실행되는 sprintboot 응용 프로그램이 생겼습니다. 다음과 같은 오류가 발생합니다.

2017-09-29 14:43:02.545 INFO 3886 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*] 
2017-09-29 14:43:02.545 INFO 3886 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*] 
Fri Sep 29 14:43:12 BST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 
2017-09-29 14:43:12.835 ERROR 3886 --- [   main] o.a.tomcat.jdbc.pool.ConnectionPool  : Unable to create initial connections of pool. 

java.sql.SQLException: Access denied for user ''@'192.168.56.15' (using password: NO) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) ~[mysql-connector-java-5.1.44.jar:5.1.44] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) ~[mysql-connector-java-5.1.44.jar:5.1.44] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) ~[mysql-connector-java-5.1.44.jar:5.1.44] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873) ~[mysql-connector-java-5.1.44.jar:5.1.44] 

왜이 오류가 발생합니까? 모든 올바른 값을 지정했습니다. 다음은 내 application.properties 파일입니다. 오류의 IP는 VirtualBox의 호스트 전용 어댑터의 IP입니다.

spring.datasource.url=jdbc:mysql://192.168.56.107:3306/appdatabase 
spring.datasource.data-username=appuser 
spring.datasource.data-password=****** 
spring.datasource.dbcp2.test-while-idle=true 
spring.datasource.dbcp2.validation-query=SELECT 1 
spring.jpa.show-sql=true 
spring.jpa.hibernate.ddl-auto=create 
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy 
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 

어떻게이 오류를 수정합니까?

답변

0

연결 예외가 없으므로 MySQL 연결이 정상적으로 작동합니다. 그러나 귀하의 인증은 예외가 볼 때 당신이 빈 사용자 이름으로 로그인을 시도하고 이후 실패

java.sql.SQLException: Access denied for user ''@'192.168.56.15' (using password: NO) 

당신이 사용하고있는 속성은 spring.datasource.data-usernamespring.datasource.data-password을했다. 이러한 특성은 스프링 부트로 알려져 있지 않습니다. 올바른 속성은 spring.datasource.usernamespring.datasource.password 같습니다

spring.datasource.username=appuser 
spring.datasource.password=****** 

공통 속성의 목록은 the documentation에서 찾을 수 있습니다.

+0

Darn, 그건 내 바보 같았고 호스트 전용 네트워크와 관련이 있다고 생각했습니다. 나는 왜 그것이 호스트에만 네트워크 어댑터 IP 주소를 사용하고 있는지 궁금해하고있다. – Ajay