我一直在尝试使用用户名“root”登录mysql,密码为“pass”,这是我尝试使用数据库运行java程序时得到的堆栈跟踪: / p>
Apr 12, 2014 4:51:41 PM carselectionui.CarSelectionUIWDB main
SEVERE: null
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at carselectionui.CarSelectionUIWDB.main(CarSelectionUIWDB.java:597)
Exception in thread "main" java.lang.NullPointerException
at carselectionui.CarSelectionUIWDB.main(CarSelectionUIWDB.java:604)
奇怪的是,几周前我在处理代码时实际上能够连接到数据库,但自从我重新启动计算机后,我再次收到访问被拒绝错误。我尝试不使用密码,认为重启时密码重置,但我仍然得到相同的错误。我在尝试连接数据库的任何时候都会收到此错误,因此我知道代码不是问题所在。
我正在使用Windows 7,这些是我的路径值:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;
C:\Go\bin;
C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.6;C/wamp/bin/mysql/mysql5.6.12/bin/mysql.exe;
C/Program Files (x86) /MySQL/Connector J 5.1.29/mysql-connector-java-5.1.29-bin.jar;
C:/Users/pnflift8191/;
C:/Program Files (x86)/MySQL/Connector J 5.1.29/mysql-connector-java-5.1.29-bin.jar
刚才意识到我在那里有两次mysql-connector,但我知道这不是它无法正常工作的原因,因为在我不小心将它添加到那里之前它仍然没有用。
编辑:我也尝试通过命令行和MYSQL工作台连接,但仍然出错。答案 0 :(得分:0)
尝试以管理员身份运行程序[右键单击jar或其他任何内容并以管理员身份运行]。如果您使用eclipse作为IDE,则应该使用管理员权限运行eclipse [相同的过程]。
如果仍然无效,请确保用户名和密码正确无误。
答案 1 :(得分:0)
我最终解决这个问题的方法是: 1:停止MySQL服务 2:在命令行中键入:mysqld -skip - grant - tables 3:我能够启动MySQL。
这种方法的唯一问题是这适用于任何用户名和密码,但至少我可以使用MySQL。