我正在使用我的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();
}
}
答案 0 :(得分:0)
运行查询后,您必须运行
FLUSH PRIVILEGES
您的代码以空格作为密码。请将password =" "
更改为password=""
答案 1 :(得分:0)
问题在于您的连接字符串。 String password =“”;
将其更改为String password =“root”;
(如果仍有错误,请在命令提示符下尝试此操作,看看会发生什么
mysql -u root -p(按回车)
密码:root