当前位置: 首页 > 知识库问答 >
问题:

Springboot/jpa无法连接到mysql与用户名"@localhost"使用密码否?

曾泳
2023-03-14

我正在尝试连接到MySQL数据库。

persistent.xml

    <?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
             http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">

<persistence-unit name="myApp">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>

  <property name="javax.persistence.jdbc.driver"  value="com.mysql.jdbc.Driver"/>
  <!-- TODO: Change file location to your H2 database ! -->
  <property name="javax.persistence.jdbc.url"     
     value="jdbc:mysql://localhost:3306/myDB"/>

  <property name="hibernate.dialect"value="org.hibernate.dialect.MySQLDialect"/>
  <property name="hibernate.hbm2ddl.auto"   value="update"/>
  <property name="hibernate.show_sql"       value="true"/>

</properties>
</persistence-unit>

</persistence>

应用性质

spring.datasource.url = jdbc:mysql://localhost:3306/myDB?useSSL=false

# Username and password
spring.datasource.username = root
spring.datasource.password = root    

错误

Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

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

共有2个答案

姜烨伟
2023-03-14

看起来问题来自驱动程序版本

现在我用:

Mysql连接器:5.1.36 Hibernate Entitymanager 5.2.10 Hibernante core 4.3.10应用程序。属性已删除,不再使用任何Spring Boot依赖项。

persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="myapp" transaction-type="RESOURCE_LOCAL">

    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

    <class>com.myapp.jpa.commande</class>
    <properties>

        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />

        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/myDB" />

        <property name="javax.persistence.jdbc.user" value="root" />
        <property name="javax.persistence.jdbc.password" value="root" />
    </properties>
</persistence-unit>

现在一切都好了。

巫马淳
2023-03-14

尝试删除=< /code>和用户名密码之间的空格。

spring.datasource.username=root
spring.datasource.password=root

 类似资料:
  • 我创建了一个docker compose文件,将MySql连接到SpringBoot应用程序。但我得到了这个错误: 我尝试在本地机器中使用docker默认ip运行Spring Boot应用程序,同时在这个docker-compose.yml文件中只运行MySql容器,结果运行得非常好。但当我尝试docker编写文件时。我知道这个错误。

  • 我一直试图在Workbench上创建一个新的数据库连接。但是,每次测试连接时,都会出现一条错误消息,内容如下 无法连接到位于127.0.0.1:3306的mysql,用户“root”@"localhost“的用户根访问被拒绝(使用密码:yes) 我不知道造成这个错误的原因是什么。我已经尝试卸载和重新安装我的Workbench6.1和mysql Server5.6,但错误仍然没有解决。

  • 我遵循了微软的这篇教程。我创建了WSL用户名和密码,安装了所有必要的应用程序,并启动了SSH服务。当我在菜单中从Visual Studio连接到它时,问题就出现了。 我遵循以下说明: 主机名=localhost 端口=22 用户名=为WSL创建的用户名 身份验证类型=密码 Password=我为WSL用户名创建的密码。

  • 我已经使用docker工具箱在视窗机器上安装了docker。我也在我的视窗机器上安装了mysql,服务器运行在端口3306上(localhost-127.0.0.1-在docker机器之外)。我在一个名为“micra-workq-svc”的docker网络内部的docker容器中运行一个冲刺启动应用程序,我希望在docker内部运行的应用程序连接到本地主机。我花了几个小时在谷歌上搜索,没有一个链接

  • 使用SSL连接到Postgres时引发异常。 原因:javax.net.ssl.SSLException:收到致命警报:在sun . security . SSL . alerts . getsslexception(alerts . Java:208)在sun . security . SSL . alerts . getsslexception(alerts . Java:154)在sun .

  • 我是Harold,我是Openshift的新手,我使用下面的代码通过这里的示例用java连接到MySQLhttps://www.openshift.com/forums/openshift/no-suitable-driver-found-error, 不幸的是,我没能成功。 起初,它说“找不到合适的驱动程序”,所以我将mysql连接器添加到WEB-INF/lib文件夹并添加类。forName(“