连接到 mysql 时,用户 'root '@'localhost' 的访问被拒绝

Access denied for user 'root '@'localhost' " when connecting to mysql

我尝试连接到 spring 项目中的 mysql 数据库,但出现错误。

 create connection error, url: jdbc:mysql://localhost:3306/IwebManager?useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true, 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:127)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)

application.properties中的配置为

spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/IwebManager?useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true
spring.datasource.username = root  
spring.datasource.password = 1234

在pom.xml是

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>8.0.11</version>
</dependency>

我确定密码是正确的。在 cmd 中,我尝试了以下命令并且它有效。

mysql -u -root -p
mysql>use IwebManager;

那么可能的原因是什么?谢谢

删除 application.properties= 标志两侧的 space。还要确保您在值之后没有 spaces(请注意,在您的问题标题中,它正在尝试以 root 身份登录,并在 t 之后使用 space)。

在问题的 copy/pasted 数据中,您 doroot 之后有 spaces(在您的真实数据中不可能知道文件)

看一下你的问题的屏幕截图,其中选择了文本(root 后注意):