如何使用IP地址作为主机名通过java访问mysql数据?

时间:2013-11-28 11:50:03

标签: java mysql

    String name = "";
    String port = "3306";
    String user = "root";
    String pass = "";
    String dbname = "atm";
    String host="192.168.5.219"; // my local host ip address 
    // I want to do this only with IP address..
    try {

        Class.forName("com.mysql.jdbc.Driver").newInstance();
        String url = "jdbc:mysql://"+host+":"+  port + "/" + dbname;
        System.out.println("URL:" + url);
        //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con = DriverManager.getConnection(url, user, pass);

        String qry2 = "select * from atm";
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(qry2);
        while (rs.next()) {

            name = rs.getString("name");
            System.out.println("Name:" + name);
            j.setText(""+name);

        }
        rs.close();
        st.close();
        con.close();


    } catch (Exception e) {
        javax.swing.JOptionPane.showMessageDialog(null, e.getMessage());
        System.out.println(e.getMessage());
    }

当我运行时,我收到了一个错误:

  

错误>> null,来自服务器的消息:不允许“主机'DEEPAK-PC'   连接到这个MySQL服务器“

实际上我想制作一个程序,从学校连接到LAN网络的另一台PC上获取数据。所以这就是我想用IP地址做这个的原因。

1 个答案:

答案 0 :(得分:1)

您必须首先授予从远程位置访问mysql的权限

试试这个

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.5.219'
    IDENTIFIED BY PASSWORD 'some_characters'  
    WITH GRANT OPTION;
FLUSH PRIVILEGES;

查看此mysql site了解详情