美文网首页
之Access denied for use

之Access denied for use

作者: o惜乐o | 来源:发表于2018-05-15 10:05 被阅读0次

    本文介绍了出现Access denied for user 'root'@'localhost' (using password: YES)问题的解决方式

    一.bug提示如下

    [Druid-ConnectionPool-Create-879333993] [com.alibaba.druid.pool.DruidDataSource]-[ERROR] create connection error
    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873)
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1710)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2194)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2225)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2024)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:779)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    

    二.分析

    Access denied for user 'root'@'localhost' (using password: YES)指通过账号名:root,以及root的密码无法访问本地的数据库,那问题锁定在连接数据库的账号和密码上,与datasource的配置有关.

    三.解决

    因为我使用的是yml文件配置datasource,找到yml文件,并打开如下代码:

    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/ndc?useSSL=false
        username: root
        password: root
        driver-class-name: com.mysql.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
    

    将以上代码中usernamepassword改为正确的账号密码即可.

    四.思考

    出现上述问题,主要是因为部署项目到远程服务器时需要切换连接的数据库路径以及更换账号密码,因连接的服务器数据库信息与本地数据库信息不一致造成,为了防止频繁变更数据库的账号和密码,可以将账号和密码设置为相同的.


    CSDN

    Java常见问题之Access denied for user 'root'@'localhost'

    相关文章

      网友评论

          本文标题:之Access denied for use

          本文链接:https://www.haomeiwen.com/subject/ascedftx.html