Error:java.sql.SQLException: Access denied for user 'root@localhost'@'localhost' (using password: YES)

夙愿已清 提交于 2019-12-12 03:14:10

问题


I am USING mysql (XAMPP) on my netbeans.

I am trying the query

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

but cant't connect:

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

Here the whole code:

    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();
      }
      }

回答1:


After you run your query you have to run

FLUSH PRIVILEGES

Your code is taking a space as password. Please change password =" " to password=""




回答2:


The problem is with your connection string. String password = " ";

Change it to String password = "root";

(If still there is error please try this in command prompt and see what happens.
mysql -u root -p (press enter)
password : root



来源:https://stackoverflow.com/questions/28954740/errorjava-sql-sqlexception-access-denied-for-user-rootlocalhostlocalhost

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!