我的Mac上运行VirtualBox,只有一个主机网络适配器,IP地址为192.168.56.15
。我已将VM的IP地址设置为192.168.56.107
。
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 :(得分:0)
您与MySQL的连接工作正常,因为您没有收到任何连接异常。但是,您的身份验证失败,因为您尝试使用空用户名登录,如异常中所示:
java.sql.SQLException: Access denied for user ''@'192.168.56.15' (using password: NO)
您正在使用名为spring.datasource.data-username
和spring.datasource.data-password
的媒体资源。 Spring启动不知道这些属性。正确的属性为spring.datasource.username
和spring.datasource.password
:
spring.datasource.username=appuser
spring.datasource.password=******
可以在the documentation中找到常用属性列表。