【发布时间】:2012-07-17 08:51:37
【问题描述】:
鉴于此代码:
package db;
import java.sql.*;
public class Main
{
public static void main (String[] args) throws ClassNotFoundException, SQLException
{
Class.forName("com.mysql.jdbc.Driver");
String string = "jdbc:mysql://localhost:3306/testdb";
Connection con = DriverManager.getConnection(string , "root" , "root");
PreparedStatement statement = con.prepareStatement("select * from name");
ResultSet result = statement.executeQuery();
while (result.next())
{
System.out.println(result.getString(1) + " " + result.getString(2));
}
}
}
我正在尝试连接 mysql 服务器,但我得到了这个:
Exception in thread "main" 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:4074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at db.Main.main(Main.java:14)
14 行是:Connection con = DriverManager.getConnection(string , "root" , "root");
我确定我在安装 MySql 时输入了密码 root 。只想确认一下 ,
我在这里输入:,
并将密码更改为root,如下所示:,但我仍然无法获得任何正确的输出。
知道它有什么问题吗?
谢谢
备注: 为了清楚起见,我正在使用:
面向 Web 开发人员的 Eclipse Java EE IDE。
雄猫 7
Xampp
【问题讨论】:
-
你能打开 phpMyAdmin 并在那里运行查询吗?好像连接没有打开。
-
@imrantariq:现在我被锁定在
phpMyAdmin之外。我按照建议删除了这些行,而不是让我离开MySQL said: #1045 - Access denied for user 'root'@'localhost' (using password: NO) -
这意味着您无法打开phpMyAdmin。对吗?
-
@imrantariq:是的,但现在我删除了所有内容并重新安装了
mysql&xampp&tomcat7,我又回来了。但是,关于来自java和jdbc的连接,我仍然从mysql 得到相同的输出。
标签: java mysql jdbc privileges