zoukankan      html  css  js  c++  java
  • ssm整合Mybatis无法连接数据库的问题 ‘Access denied for user...’

    自己在写一个整合例子的时候发现各种文件配置好之后数据库无法连接,一直报错拒绝访问

    ...
    Caused by: java.sql.SQLException: Access denied for user 'xxx'@'localhost' (using password: YES)
    	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)
    	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447)
    	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
    	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
    	at java.sql.DriverManager.getConnection(DriverManager.java:664)
    	at java.sql.DriverManager.getConnection(DriverManager.java:208)
    	at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:155)
    	at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:146)
    	at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
    	at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
    	at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
    	at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
    	at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
    	... 49 more
    

    尝试了各种方法,利用Mybatis原生的方式创建 SqlSession 能够正常访问数据库

    参考了以前的配置文件,尝试修改了数据库配置文件中的字段之后可以正常运行,最后发现是用户名的问题

    driver=com.mysql.cj.jdbc.Driver
    url=jdbc:mysql://localhost:3306/...
    #username=root  //万恶之源
    user=root
    password=123456
    

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

    里面的报错的 user 是系统的用户名而不是配置文件中的 user
    所以只要不命名为 username 就可以正常连接了

  • 相关阅读:
    Linux学习第一天————了解root用户和基本的shell命令
    String对象常量池特性对synchronized对象的影响
    JDBC中执行SQL语句的方式
    DEVICE_ID
    Android ScrollView与RecyclerView滑动冲突问题
    Activity与intent解析
    intent初步解析
    用Intent传递数据
    代码实现
    Unity 自定义日志保存
  • 原文地址:https://www.cnblogs.com/wangjr1994/p/12728573.html
Copyright © 2011-2022 走看看