Java 为什么我会得到一个;拒绝访问';本地主机'&引用;错误?

Java 为什么我会得到一个;拒绝访问';本地主机'&引用;错误?,java,mysql,Java,Mysql,我一直在尝试登录mysql,用户名为“root”,密码为“pass”,这是我尝试使用数据库运行java程序时得到的stacktrace: 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.jd

我一直在尝试登录mysql,用户名为“root”,密码为“pass”,这是我尝试使用数据库运行java程序时得到的stacktrace:

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)
我刚刚意识到我已经在那里安装了两次mysql连接器,但我知道这并不是它不起作用的原因,因为在我不小心再次将它添加到那里之前,它仍然不起作用


编辑:我也尝试过通过命令行和MYSQL workbench进行连接,但仍然出现错误。

尝试以管理员身份运行该程序[右键单击jar或其他内容并以管理员身份运行]。如果您将eclipse用作IDE,则应该以管理员权限运行eclipse[相同的过程]


如果仍然不起作用,请确保用户名和密码正确。

我最终解决此问题的方法是: 1:停止MySQL服务 2:在命令行中键入:mysqld-skip-grant-tables 3:我可以启动MySQL了


这种方法唯一的问题是,它适用于任何用户名和密码,但至少我可以在MySQL上工作。

如果“我也尝试过通过命令行和MySQL工作台连接,但仍然出现错误”,则表示您也会在那里遇到错误,然后,您应该查看您的mysql服务是否可用running@SirRotN如果它没有运行,他将收到连接异常,而不是访问拒绝。用户名或密码错误,或者该用户不允许从本地主机连接。以管理员身份运行无法更改任何内容。他正在连接MySQL,但它拒绝了用户名/密码。其中一个是错误的。这不应该是公认的答案,正如您所注意到的,这有一个问题(而且这不仅仅是一个问题,让数据库保持打开状态,就像您所做的那样,真是愚蠢)
%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