用户“root”@“localhost”拒绝JDBC访问

时间:2016-11-01 05:37:56

标签: java mysql jdbc netbeans connectivity

这对我来说是个错误。 我使用了正确的密码,因为这是我在启动MySQL时输入的内容。

DefaultTableModel dtm=(DefaultTableModel) jTable1.getModel();
dtm.setRowCount(0);
try{
    Class.forName("java.sql.Driver");
    Connection c=DriverManager.getConnection("jdbc:mysql://localhost/shashvat","root","1234");
    Statement s=c.createStatement();       
    ResultSet r=s.executeQuery("select * from phasetests;");

    while(r.next()){
        Object arr[]={r.getString(1),r.getString(2),r.getString(3),r.getString(4)};
        dtm.addRow(arr);
    }
}catch(Exception e){
System.out.println(e.getMessage());   
}

异常消息:

Access denied for user 'root'@'localhost' (using password: YES)

我也试过这个: https://stackoverflow.com/a/17908407/5036731

问题仍然存在。 请帮忙。

3 个答案:

答案 0 :(得分:1)

编辑:您的代码应该是这样的。

DefaultTableModel dtm=(DefaultTableModel) jTable1.getModel();
dtm.setRowCount(0);
try{ 
    //Class.forName("java.sql.Driver"); This is wrong
    Class.forName("com.mysql.jdbc.Driver"); // Declare it like this..
    Connection c=DriverManager.getConnection("jdbc:mysql://localhost:3306/shashvat","root","1234"); // port number was missing
    Statement s=c.createStatement();       
    ResultSet r=s.executeQuery("select * from phasetests;");

    while(r.next()){
        Object arr[]={r.getString(1),r.getString(2),r.getString(3),r.getString(4)};
        dtm.addRow(arr);
    } 
}catch(Exception e){
System.out.println(e.getMessage());   
} 

请参阅我在此处提到的代码正在运行。我在当地检查过。问题应该是密码架构访问,您可以参考以下内容。

Access Denied for User 'root'@'localhost' (using password: YES) - No Privileges?

如果是特权问题。通过执行以下命令将所有权限授予root权限。

GRANT ALL PRIVILEGES ON shashvat.* TO 'root'@'localhost' IDENTIFIED BY 'root'

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

答案 1 :(得分:0)

请使用以下语法

Uncaught ReferenceError: FluxDispatcher is not defined

答案 2 :(得分:0)

将驱动程序名称更正为com.mysql.jdbc.Driver 并添加端口为localhost:3306

的主机