Невозможно подключиться к серверу локальной сети;исключение не отображается - PullRequest
0 голосов
/ 18 февраля 2019

Я попытался использовать другой проект, и соединение успешно, но из этого проекта я могу подключиться только к localhost mysql.Я хочу, чтобы он работал только на локальной сети.

Я получаю сообщение "Доступ запрещен для пользователя 'root'@'192.168.1.70' (используется пароль: ДА)"

Пример кодаиз неработающего проекта:

Connection con = null;
    Statement st = null; 
    ResultSet rs = null;
    try{ con = (Connection) DriverManager.getConnection("jdbc:mysql://"+home.credentials[0],home.credentials[1],home.credentials[2]);
        st = (Statement) con.createStatement();
        String s = "SELECT * FROM meta";
        rs = st.executeQuery(s);
        ResultSetMetaData rsmt = rs.getMetaData(); 
        while(rs.next()){
            int meta = rs.getInt("meta");
            goal.setText(Integer.toString(meta));
        }
     }catch(Exception e){}
        finally{
         try{ st.close(); 
         rs.close(); 
         con.close(); 
     }
        catch(Exception e){ JOptionPane.showMessageDialog(null, "Información no encontrada"); 
     } 
    }

Пример кода из другого проекта, который успешно соединяется

   try
    {
      // create our mysql database connection
      String myDriver = "org.gjt.mm.mysql.Driver";
      String myUrl = "jdbc:mysql://192.168.1.66:3306/jjeventoscore";
      Class.forName(myDriver);
      Connection conn = (Connection) DriverManager.getConnection(myUrl, "root", "");

      // our SQL SELECT query. 
      // if you only need a few columns, specify them by name instead of using "*"
      String query = "SELECT * FROM client";

      // create the java statement
      Statement st = (Statement) conn.createStatement();

      // execute the query, and get a java resultset
      ResultSet rs = st.executeQuery(query);

      // iterate through the java resultset
      while (rs.next()){
       String name = rs.getString("name");
            String last = rs.getString("last");
            String h_phone = rs.getString("h_phone");
            String m_phone = rs.getString("m_phone");
            String of_phone = rs.getString("of_phone");
            String ex_phone = rs.getString("ex_phone");
            String email = rs.getString("email");
            String medium = rs.getString("medium");
          System.out.println(name+" "+last);
      }
      st.close();
    }
    catch (Exception e)
    {
      System.err.println("Got an exception! ");
      System.err.println(e.getMessage());
    }
}

1 Ответ

0 голосов
/ 18 февраля 2019

Вам необходимо предоставить привилегии пользователю для этой базы данных и этой таблицы.

С привилегиями для вашего экземпляра MySQL:

USE jjeventoscore;
GRANT ALL ON jjeventoscore.* TO 'root'@'192.168.1.70';

Или, возможно, попробовать

GRANT ALL ON jjeventoscore.* TO 'root'@'192.168.1.70' IDENTIFIED BY '';

Так как написано "Использование пароля: ДА"

Также проверьте пароль на MySQL.Он должен соответствовать параметру в этой функции

Connection conn = (Connection) DriverManager.getConnection(myUrl, "root", "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...