Spring项目启动中出现:Access denied for user ‘xx‘@‘localhost‘ (using password: YES)解决方案

报错信息如下:

13:00:37.596 [Druid-ConnectionPool-Create-1788380050] ERROR com.alibaba.druid.pool.DruidDataSource - create connection SQLException, url: jdbc:mysql://localhost:3306/xiaohua?characterEncoding=utf8&serverTimezone=Asia/Shanghai, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user 'qq'@'localhost' (using password: YES)

如果你的报错信息也与上图类似,不妨看一下下面的解决方法。

bug解决方案:

首先猫一眼数据库及数据池依赖或者jar包是否正确导入

检查jdbc配置文件或者你写的编程式配置是否正确

jdbc文件

xml文件

<!--    数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="url" value="${url}"/>
        <property name="driverClassName" value="${driverName}"/>
        <property name="username" value="${userName}"/>
        <property name="password" value="${password}"/>

    </bean>

或许熟悉Spring的小伙伴已经看出来了:

<property name="username" value="${userName}"/>

 这个username在spring中是关键词,它获取的的也可能是我们计算机本地用户的名字。

因此我们需要将username修改为Name或者你喜欢的名字就可以了

jdbc文件:

xml文件:

再次启动:

启动成功!

根据提供的引用内容,你遇到了一个连接数据库的问题,错误信息是"Access denied for user 'root'@'localhost' (using password: YES)"。这个错误通常是由于用户名或密码不正确导致的。解决这个问题的方法有以下几种: 1. 确认用户名和密码是否正确:首先,你需要确认你的数据库用户名和密码是否正确。可以尝试使用正确的用户名和密码登录数据库,确保能够成功登录。 2. 检查数据库权限:如果用户名和密码正确,但仍然无法连接数据库,可能是因为该用户没有足够的权限访问数据库。你可以检查该用户是否具有正确的权限,例如是否具有连接数据库的权限。 3. 检查数据库连接配置:在你的Spring Boot项目,你需要确保数据库连接配置正确。你可以检查你的application.properties或application.yml文件的数据库连接配置,确保用户名、密码、数据库URL等信息正确。 4. 检查数据库驱动程序:确保你的项目引入了正确的数据库驱动程序。根据引用的配置,你需要使用com.mysql.cj.jdbc.Driver作为驱动程序。 5. 检查数据库服务是否正常运行:如果以上步骤都没有解决问题,你可以检查一下数据库服务是否正常运行。确保数据库服务已经启动,并且可以正常访问。 以下是一个示例的Spring Boot项目连接MySQL数据库的配置: ```yaml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 username: root password: "0458" ``` 请注意,这只是一个示例配置,你需要根据你自己的数据库配置进行相应的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值