10:28:24.474 [Druid-ConnectionPool-Create-1923795065] ERROR c.alibaba.druid.pool.DruidDataSource - create connection SQLException, url: jdbc:mysql://127.0.0.1/apsfc?serverTimezone=UTC, errorCode 1045, state 28000 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1652) ~[druid-1.2.4.jar:1.2.4] at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1718) ~[druid-1.2.4.jar:1.2.4] at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2785) ~[druid-1.2.4.jar:1.2.4] 10:28:24.994 [Druid-ConnectionPool-Create-1923795065] ERROR c.alibaba.druid.pool.DruidDataSource - create connection SQLException, url: jdbc:mysql://127.0.0.1/apsfc?serverTimezone=UTC, errorCode 1045, state 28000
时间: 2025-09-06 14:49:29 AIGC 浏览: 8
当 Druid 连接 MySQL 数据库出现 `errorCode 1045 state 28000 Access denied for user 'root'@'localhost' (using password: YES)` 错误时,可尝试以下解决方法:
- **检查密码是否正确**:确认使用的 `root` 用户密码准确无误。若忘记密码,可在 MySQL 中重置 `root` 用户密码。
- **检查数据库及数据池依赖或 jar 包**:确保数据库及数据池依赖或者 jar 包正确导入,若依赖缺失或版本不兼容,可能导致连接问题 [^5]。
- **检查 jdbc 配置文件**:查看 jdbc 配置文件或者编程式配置是否正确。在 Spring 配置中,`username` 是关键词,可能获取计算机本地用户的名字,可将 `username` 修改为其他名称,如 `Name` [^5]。示例 XML 配置如下:
```xml
<!-- 数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="url" value="${url}"/>
<property name="driverClassName" value="${driverName}"/>
<property name="Name" value="${userName}"/>
<property name="password" value="${password}"/>
</bean>
```
- **检查用户权限**:确保 `root` 用户拥有访问数据库的权限。可通过以下 SQL 语句查看和修改权限:
```sql
-- 查看用户权限
SHOW GRANTS FOR 'root'@'localhost';
-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
```
- **检查 MySQL 身份验证插件**:MySQL 8.0 及以上版本默认使用 `caching_sha2_password` 身份验证插件,若 Druid 不兼容,可将其改为 `mysql_native_password`:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
```
阅读全文
相关推荐



















