NetBeans сообщает, что доступ запрещен для пользователя «root» @ «localhost» (с использованием пароля: YES)

Я новичок в java и разработке. Я использую NetBeans 8.0 и Query Browser 1.1.2 для создания базы данных и таблиц. как только я нажму кнопку входа в систему после ввода данных пользователя, появится сообщение, как показано ниже.

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

Я создал базу данных с помощью Query Browser, так как я новичок в рабочей среде MYSQL, чем в Query Browser.

Ниже приведен код Home_Page.

public class Home_Page extends javax.swing.JFrame {

    public String User;
    Model.JDBC j=new JDBC();

    public Home_Page(String U_ID) {
        initComponents();

        User=U_ID; 
        Toolkit t = Toolkit.getDefaultToolkit();
        Dimension d = t.getScreenSize();
        int w = (int) d.getWidth();
        int h = (int) d.getHeight()-40;
        setBounds(0, 0, w, h);
        jLabel2.setText(new Controler.getDate().date());
        time();
        jLabel3.setText(U_ID);
        ResultSet rs;

        try {

          rs = j.getData("select ulevel from user U_ID='"+U_ID+"'");  

          if(rs.next()==true){

                  if(rs.getString(1).equals("Admin")){

                    home.setEnabled(true);
                    EMPLOYEE.setEnabled(true);
                    employee.setEnabled(true);
                    user.setEnabled(true);
                    machine.setEnabled(true);
                    branch.setEnabled(true);

                }else if(rs.getString(1).equals("user")){


                    home.setEnabled(true);                  
                    EMPLOYEE.setEnabled(false);
                    employee.setEnabled(false);
                    user.setEnabled(false);
                    machine.setEnabled(false);
                    branch.setEnabled(false);


                }else{
                     System.out.println("else");

                }
           }

        } catch (Exception ex) {
            Logger.getLogger(Home_Page.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

          public  void time() {
        new Thread(new Runnable() {

            public  void run() {
                while (true) {
                    String times = new Date().toString();
                    String h = times.split(" ")[3];
                    jLabel1.setText(h);
                    try {
                        Thread.sleep(60);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }

        @SuppressWarnings("unchecked")

    private void branchActionPerformed(java.awt.event.ActionEvent evt) {                                       

        jDesktopPane1.removeAll();
        Branch b=new Branch();
        jDesktopPane1.add(b);
        b.setVisible(true);
        jDesktopPane1.updateUI();
// TODO add your handling code here:
    }                                      
 public void clear() {

    this.dispose();

    }
    private void logoutActionPerformed(java.awt.event.ActionEvent evt) {                                       

      java.awt.Toolkit.getDefaultToolkit().beep();  int t = JOptionPane.showConfirmDialog(null, "Are You Sure...?");
                        if(t==JOptionPane.YES_OPTION){
                           this.dispose();
                            clear();
                            new Viewer.login().setVisible(true);
                        }
                        else if(t==JOptionPane.NO_OPTION)
                        {


                        }
                        else
                        {

                        }
    }                                      

    private void userActionPerformed(java.awt.event.ActionEvent evt) {                                     

        jDesktopPane1.removeAll();       
        User_ u=new User_();
        jDesktopPane1.add(u);
        u.setVisible(true);
        jDesktopPane1.updateUI();
// TODO add your handling code here:
    }                                    

    private void employeeActionPerformed(java.awt.event.ActionEvent evt) {                                         

        jDesktopPane1.removeAll();
        Employee_ emp=new Employee_();
        jDesktopPane1.add(emp);
        emp.setVisible(true);
        jDesktopPane1.updateUI();
        // TODO add your handling code here:
    }                                        

    private void machineActionPerformed(java.awt.event.ActionEvent evt) {                                        

        jDesktopPane1.removeAll();
        machine_ m = new machine_();
        jDesktopPane1.add(m);
        m.setVisible(true);
        jDesktopPane1.updateUI();                            
// TODO add your handling code here:
    }                                       

    private void homeActionPerformed(java.awt.event.ActionEvent evt) {                                     


        // TODO add your handling code here:
    }                                    

    private void EMPLOYEEActionPerformed(java.awt.event.ActionEvent evt) {                                         


// TODO add your handling code here:
    }                                        

    public static void main(String args[]) {


        Calendar expiry = Calendar.getInstance();
        expiry.set(2013, 9 , 27,0,0); // Expire at 31 Jan 2010
        Calendar now = Calendar.getInstance();
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Home_Page(" ").setVisible(true);
            }
        });
    }

}

Ниже мой код формы входа

public class login extends javax.swing.JFrame {

    public login() {
        initComponents();
    }

    @SuppressWarnings("unchecked")

    private void loginActionPerformed(java.awt.event.ActionEvent evt) {                                      

        if (eid.getText().trim().length() == 0 | pwd.getPassword() == null) {
            JOptionPane.showMessageDialog(null, "Username or Password cannot be blank", "Error", 0);
        } else {
            try {
                ResultSet rs = new DBG1().getData("select * from user where eid = '" +eid.getText() + "'");
                Vector v = new Vector();
                if (rs.next()) {
                    v.add(rs.getString(1));
                }
                if (v.isEmpty()) {
                    JOptionPane.showMessageDialog(null, "Invalid Username or Password", "Error", 0);
                    eid.setText("");
                    pwd.setText("");
                    eid.grabFocus();
                } else {
                    ResultSet rs1 = new DBG1().getData("select * from user where eid ='" + eid.getText() + "'");
                    while (rs1.next()) {
                        String type = (rs1.getString(3));

                        if (eid.getText().trim().equalsIgnoreCase(rs1.getString("eid")) && pwd.getText().equals(rs1.getString("pwd")) && type.equals("Admin")) {
                            this.dispose();
                           new Home_Page(eid.getText()).setVisible(true);
                          //  new Home_Page(eid.getText()).setVisible(true);
                        } else if (eid.getText().trim().equalsIgnoreCase(rs1.getString("eid")) && pwd.getText().equals(rs1.getString("pwd")) && type.equals("user")) {
                            this.dispose();
                           new Home_Page(eid.getText()).setVisible(true);

                        } 
                        else {
                            JOptionPane.showMessageDialog(null, "Invalid Username or Password", "Error", 0);
                            eid.setText("");
                            pwd.setText("");
                            eid.grabFocus();
                        }
                    }
                    this.dispose();
                  }
            } catch (Exception e) {
                System.out.println(e);
            }
        }
// TODO add your handling code here:
    }                                     

    private void cancelActionPerformed(java.awt.event.ActionEvent evt) {                                       

       new login().dispose();
       System.out.println(pwd.getPassword());

        System.out.println("Cleared");
        this.dispose();
        // TODO add your handling code here:
    }                                      

    private void eidActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
    }                                   


    public static void main(String args[]) {

               java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {

                new Viewer.login().setVisible(true);
            }
        });
    }

}

Когда я отлаживаю проект, он должен сначала запустить окно загрузки (которое здесь не включено), а затем окно входа в систему. следовал всем инструкциям, упомянутым во всех вопросах подобного типа, которые были размещены ранее на этом сайте. Тем не менее, я нахожусь в этом состоянии. Может ли кто-нибудь указать, где я должен изменить свой код или как я должен избавиться от этой ошибки и перейти к домашняя_страница моего проекта


person Jay K    schedule 02.10.2017    source источник
comment
Примечание. Это не имеет ничего общего с IDE или Swing, и все, что связано с файлом SQLException. Теги изменены, чтобы отразить проблему.   -  person Andrew Thompson    schedule 02.10.2017
comment
Вместо этого вы должны показать код, который вы использовали для подключения к базе данных. И вместо того, чтобы использовать пользователя root (по умолчанию), лучше создать другого пользователя.   -  person F0XS    schedule 02.10.2017
comment
Могу я тогда отредактировать пост? Можно ли удалить приведенный выше код и добавить код подключения к базе данных сейчас?   -  person Jay K    schedule 02.10.2017
comment
Спасибо всем! Задача решена. Когда я использовал слово root в качестве пароля, это сработало.   -  person Jay K    schedule 02.10.2017


Ответы (4)


Попробуйте использовать имя пользователя root и пустой пароль. Если это не сработает, вы можете попробовать следующее: Отказано в доступе для пользователя 'username'@'localhost' (с использованием пароля: YES) в C:\webdev\wamp\www\membershipSite\classes\Mysql.php в строке 9

person Mr. Greenwoodz    schedule 02.10.2017
comment
Спасибо, мистер Гринвудз. Задача решена. Я использовал root в качестве пароля. Тогда это сработало. - person Jay K; 02.10.2017

убедитесь, что имя вашей базы данных «root», а пароль вашей базы данных пуст или нет... и правильно установите аутентификацию базы данных для авторизации..

person balu waghmare    schedule 02.10.2017
comment
Спасибо, Балу.. Попробую :) - person Jay K; 02.10.2017
comment
Это тоже не сработало. Но я нашел решение. Так или иначе, когда я поставил root в качестве пароля, это сработало. - person Jay K; 02.10.2017

Наконец-то я смог ее решить. :) Что случилось, так это то, что я дал слово «root» в качестве пароля для «root» имени пользователя. Когда я изменил пароль на «root», я смог сделать шаг вперед, хотя появилась другая ошибка. Я работаю над этим сейчас. Всем большое спасибо еще раз. :)

Ниже приведен код

public Connection getCon() throws Exception{
        String driver ="com.mysql.jdbc.Driver";
        String url="jdbc:mysql://localhost:3306/FINAL_POST?useUnicode=true&ampcharacterEncoding=UTF-8";
        Class.forName(driver);
        Connection con=DriverManager.getConnection(url, "root", "root");
        return con;
    }
person Jay K    schedule 02.10.2017

Запустите Netbeans от имени администратора, поскольку netbeans не является mysql в текущем пользователе, спасибо.

person HabibUllah786    schedule 22.04.2020