错误:java.sql.SQLException:访问被拒绝用户' root @ localhost' @' localhost' (使用密码:是)

时间:2015-03-10 01:31:39

标签: java mysql database netbeans xampp

我正在使用我的netbeans上的mysql(XAMPP)。

我正在尝试查询

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION; 

但无法连接:

  ERROR: java.sql.SQLException:Access denied for user 'root'@'localhost'

这里是整个代码:

    public class NextHandler implements ActionListener{
    @Override
    public void actionPerformed (java.awt.event.ActionEvent evt){
    try{

        String url="jdbc:mysql://localhost:3306/database2";
        String username= "root";
        String password= " ";
        Connection con=DriverManager.getConnection(url, username,password);
        Statement stat=con.createStatement();
        String Query=
        "INSERT INTO donor_info(donor_id,donor_lastname,donor_firstname,donor_middlename,donor_age,donor_weight,donor_height,donor_gender,donor_contact_number,"
                + "medical_condition)VALUES ('"+txtdonorid.getText()+"','"+txtlname.getText()+"','"+txtfname.getText()+"','"+txtmname.getText()+"',"
                + "'"+txtage.getText()+"','"+txtweight.getText()+"','"+txtheight.getText()+"')";

        stat.execute(Query);
    JOptionPane.showMessageDialog(null,"Donor Added to Database");
    txtdonorid.setText(null);
    txtlname.setText(null);
    txtfname.setText(null);
    txtmname.setText(null);
    txtage.setText(null);
    txtweight.setText(null);
    txtheight.setText(null);

    }
    catch (SQLException ex){
       JOptionPane.showMessageDialog(null,ex.toString());
    }
    bloodtype f=new bloodtype();
    f.setVisible(true);
    dispose();
    f.run();
    }
        }


     public void run(){

    //setUndecorated(true);

     setSize(1920, 1200);
     setLocationRelativeTo(null);
     setVisible(true);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      }

      public static void main(String[] args) throws Exception{
      Class.forName("com.mysql.jdbc.Driver");
      donorinfo f = new donorinfo();
      f.run();
      }
      }

2 个答案:

答案 0 :(得分:0)

运行查询后,您必须运行

FLUSH PRIVILEGES

您的代码以空格作为密码。请将password =" "更改为password=""

答案 1 :(得分:0)

问题在于您的连接字符串。 String password =“”;

将其更改为String password =“root”;

(如果仍有错误,请在命令提示符下尝试此操作,看看会发生什么 mysql -u root -p(按回车)
密码:root