gpt4 book ai didi

mysql - 无法使用仅主机网络连接到在 Virtualbox ubuntu 虚拟机上运行的 mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 18:22:08 25 4
gpt4 key购买 nike

我的 Mac 上运行 VirtualBox,并配有 IP 地址为 192.168.56.15 的仅主机网络适配器。我已将虚拟机的 IP 地址设置为 192.168.56.107

Host : MacOs High Sierra
Guest VM: Ubuntu

我已在虚拟机上安装并配置了 mysql 数据库,并且已将用户 appuser 设置为可以远程访问该数据库。

现在,当我尝试运行 springboot 应用程序时,我的 Mac 上有一个 sprintboot 应用程序在 eclipse 中运行。我收到以下错误。

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

如何修复此错误?

最佳答案

您与 MySQL 的连接工作正常,因为您没有收到任何连接异常。但是,您的身份验证失败,因为您尝试使用空用户名登录,如异常所示:

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

您正在使用名为 spring.datasource.data-usernamespring.datasource.data-password 的属性。 Spring boot 不知道这些属性。正确的属性是 spring.datasource.usernamespring.datasource.password:

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

常见属性列表可以在 the documentation 中找到。 .

关于mysql - 无法使用仅主机网络连接到在 Virtualbox ubuntu 虚拟机上运行的 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46490559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com