2015-04-22 4 views
1

Я создал приложение для нашей компании. Сначала я пытался создать без пароля в моей базе данных в MySQL-xampp, и он отлично работает. Теперь моя проблема, я поставил пароль на моей базе данных, и мое приложение теперь бросает мне эту ошибку всякий раз, когда я войти:Netbeans и mysql связь

SQL java.sql.SQLException: Доступ запрещен для пользователя «корень» @ 'CITSP- MOB7' (с помощью пароля: ДА)

Я также получаю сообщение об ошибке подключения мою базу данных:

Невозможно подключиться. Не удается установить соединение с jdbc: mysql // localhost: 3306/mydb с помощью com.mysql.jdbc.Driver (доступ отклонен для пользователя 'root' @ 'CITSP-MOB7' (с использованием пароля: YES)).

Вот мой код для подключения к базе данных:

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
static final String DB_URL = "jdbc:mysql://192.168.1.112:3306/citsp"; 
static final String USER = "root"; 
static final String PASS = "mypassword"; 

try{ 
    Class.forName("com.mysql.jdbc.Driver"); 
    }catch(ClassNotFoundException ex){ 
      } 
    //STEP 3: Open a connection 
    System.out.println("Connecting to database..."); 
    conn = DriverManager.getConnection(DB_URL,USER,PASS); 

    //STEP 4: Execute a query 
    System.out.println("Creating statement..."); 
    stmt = conn.createStatement(); 

Может кто-нибудь помочь мне решить мою проблему подключения? Ваш ответ будет оценен. Заранее спасибо! :)

+0

Вы установили пароль в базе данных, и пусть ваше приложение знает, что он должен знать пароль перед доступом к нему. Отправьте свой код Java, пожалуйста [только подключение к части mysql] – 1000111

+0

Для начала вам нужно создать отдельный пользователь, отличный от root. –

+0

Привет @Subrata Dey, это мой код: static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final Строка DB_URL = "jdbc: mysql: // localhost: 3306/citsp"; static final String USER = "root"; статическая финальная строка PASS = "mypassword"; – nhix

ответ

0

Прошу протестировать создание нового пользователя в mysql, если это сработает для вас.

Сначала создайте нового пользователя в mysql: Войдите в командную строку mysql от имени пользователя root. Затем выполните следующие команды один за другим.

MySQL

  1. CREATE USER 'mydbuser' @ 'локальный', идентифицированной 'ASDF';

  2. ГРАНТ ВСЕ ПРИВИЛЕГИИ НА . TO 'mydbuser' @ 'localhost';

  3. FLUSH PRIVILEGES;

Изменить ваш выше Java код к следующему: Я предполагал ваше имя базы данных 'citsp'

JAVA

 String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
     String DB_URL = "jdbc:mysql://localhost/citsp"; 
     String USER = "mydbuser"; 
     String PASS = "asdf"; 

     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
     } catch (ClassNotFoundException ex) { 
      //JOptionPane.showMessageDialog(null, "There's an error connecting with the database. Please contact your administrator."); 
     } 
     //STEP 3: Open a connection 
     System.out.println("Connecting to database..."); 
     java.sql.Connection conn = null; 
     try { 
      conn = DriverManager.getConnection(DB_URL, USER, PASS); 
     } catch (SQLException ex) { 
      Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); 
      ex.printStackTrace(); 
     } 

     //STEP 4: Execute a query 
     System.out.println("Creating statement..."); 
     try { 
      Statement stmt = conn.createStatement(); 
      String query = ""; 
      ResultSet rs = stmt.executeQuery(query); 
      while(rs.next()){ 
       // Iterate through the result 
      } 
     } catch (SQLException ex) { 
      Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); 
     } 
+0

Это еще не решило мою проблему. Но действительно спасибо за вашу помощь. – nhix

+0

@nhix. Вы смогли создать нового пользователя в mysql после данных команд? Какое сообщение об ошибке вы получаете прямо сейчас? – 1000111

+0

да, я смог создать нового пользователя с указанными вами командами. Такая же ошибка, корень только что изменился на mydbuser. :( – nhix