小弟使用第三方框架,配置mysql数据库连接,总是出现莫名其妙的错误:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)我的用户名和密码都是没有错的。我在网上找到一些资料说是root权限问题,但是mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION; //本地操作的权限mysql> GRANT ALL PRIVILEGES ON *.* TO ' root '@'%'->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;                    //远程操作的权限这样修改以后仍然是这个错误。求助各位大虾~~~在线等!!

解决方案 »

  1.   

    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:911)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3953)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:154)
    at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
    at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
    at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:217)
    at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:89)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)
    at com.icode.common.database.DBManager.getConnection(DBManager.java:95)
    at com.icode.common.database.DBManager.getConnection(DBManager.java:53)
    at com.icode.common.database.DBOperation.<init>(DBOperation.java:49)
    at com.icode.webwork.WebAction.execute(WebAction.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
    at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
    at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
    at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
      

  2.   

    Class.forName("com.mysql.jdbc.Driver");
    String url="jdbc:mysql://localhost:3306/jiufeng?user=root&password=some_pass";
    Connection con = DriverManager.getConnection(url);我用这样的方法是可以连接数据库的。。求解啊
      

  3.   

    是不是因为mysql没有赋予你grant权限?
    http://topic.csdn.net/u/20100809/09/c4c1b47c-27d6-4e14-8e10-941d70e98f9d.html
      

  4.   


    可是我已经授权了啊
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;  
      

  5.   

    试试
    grant all on *.* to root@'%' identified by 'some_pass'
      

  6.   

    估计是mysql没有开放远程访问权限 啊
      

  7.   

    mysql的默认账户是只允许本地用户访问的,如果连接程序yumysql不再同一台机器据无法连接
    你可以打开mysql数据库的user表,里面有一项Host的列,看下是不是本地地址,改成特定ip或者%匹配所有