无法从其他电脑的phpmyadmin(wamp)的mysql数据库中检索条目

时间:2013-10-01 06:54:21

标签: java php mysql wamp

我使用phpmyadmin(wamp)创建了一个mysql数据库。我可以使用我的电脑的IP地址从其他电脑看到数据库。但是,当我运行java代码来从数据库中检索条目时,它会给出错误。我们已经禁用了主机pc的防火墙。 这是我的代码:

/*
  
      
  • 要更改此模板,请选择工具|模板*并打开   编辑器中的模板。 * / package wamp;
  •   
     

import java.sql.Connection; import java.sql.DriverManager;进口   java.sql.ResultSet中; import java.sql.SQLException;进口   java.sql.Statement中;

     

/ ** * * @author user * / public class Wamp {

/**
 * @param args the command line arguments
 */

    // TODO code application logic here
    public static void main(String args[]) throws InstantiationException, IllegalAccessException
{
    try{
        Class.forName("com.mysql.jdbc.Driver").newInstance();
             Connection con = DriverManager.getConnection("jdbc:mysql://192.168.1.2:3306/test","root",""); 
                Statement stmt=con.createStatement();
              // stmt.executeUpdate("Insert into student values(1,'abc','nagpur')");
                ResultSet rs= stmt.executeQuery("Select names from sample where id=15");
                rs.next();
               String name= rs.getString("names");               
                System.out.println(name);
                System.out.println("DOne..");
               //INSERT INTO `student`(`id`, `name`, `address`) VALUES (1,'amol','nagpur');
            con.close();

          }
catch(ClassNotFoundException | SQLException e){
    System.out.println("error"+e);
}

}

}

这是错误消息:

errorjava.sql.SQLException: null, message from server: "Host 'user-PC.Home' is not allowed to connect to this MySQL server

4 个答案:

答案 0 :(得分:2)

这是因为您没有为您的其他PC提供连接MySQL数据库的正确权限,如果您在谷歌上搜索错误,您会找到答案:

首先ping用户PC以获取其IP地址:

Ping user-PC

然后登录MySQL数据库并提供

  

用户PC的IP地址

连接MySQL数据库的权限:

use mysql
GRANT ALL ON *.* to root@'user-PC' IDENTIFIED BY 'your-root-password';
FLUSH PRIVILEGES;

答案 1 :(得分:1)

这是因为您没有授予远程访问权限。要从远程系统访问mysql,您必须授予权限。 尝试以下方式

GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;

以上将允许所有人访问,但如果您想要访问家庭网络的某些特定IP,请尝试这种方式

 GRANT ALL ON *.* to '%'@'192.168.%' WITH GRANT OPTION;

以下链接可以帮助您

link1

link2

答案 2 :(得分:1)

输入

GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;

在你的phpmyadmin sql界面

答案 3 :(得分:0)

这是因为你没有在同一网络中授予对其他电脑的访问权限:

GRANT ALL ON *.* to '%'@'192.168.%' WITH GRANT OPTION;

类似的问题链接:How to access MySQL from a remote computer (not localhost)?