无法从wamp服务器在线访问mysql数据库

时间:2013-09-30 09:08:37

标签: java mysql wamp

我可以使用来自myclient的服务器ip地址在线使用phpmyadmin ..... 我正在尝试使用java代码从mysql中检索数据

这是我的代码

/*  * To change this template, choose Tools | Templates  * and open
      the template in the editor.  */ 
package wamp;

import java.sql.Connection; import java.sql.DriverManager; import
java.sql.ResultSet; import java.sql.SQLException; import
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://serverip: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,来自服务器的消息:“主机   'user-PC.Home'不允许连接到这个MySQL服务器“

2 个答案:

答案 0 :(得分:0)

MySQL用户ID具有HOST关联。

因此,MySQL Userid的完整故事说:允许此用户ID连接此密码,并且只能从此客户端或客户端连接,客户端是允许其连接的HOST。

默认情况下,'root'用户ID只允许从运行MySQL服务器的机器进行连接。它是一个安全的东西,你不希望你的超级用户在任何地方被使用,特别是如果你甚至没有给它一个密码。

你应该做的是创建一个新的用户ID,让我们说'test',给它一个密码,然后说'Testing $'然后确保该用户ID只能访问它将用于的单个数据库。

如果你想要懒惰,那么你可以将%设置为主机,并且说它允许从任何地方连接。 或者,您可以使用子网掩码,假设您的客户端PC的IP地址为192.168.0.100,您可以允许用户ID使用192.168.0.100192.168.0或{{1}}从该单个IP地址登录允许从该子网上的任何IP访问。

我希望这能让你开始。

以下是Adding Users

的MySQL文档

答案 1 :(得分:0)

如果您确定用户不会损害您的数据,请将所有权限授予root用户。

执行以下操作

1)点击任务栏上的W图标,转到 phpMyAdmin

2)转到用户标签。您将找到5个条目,其中三个被命名为root,其余两个为任何

3)在名为任何的两个用户上,点击编辑权限

4)选中名为全局权限的复选框全部检查。对名为任意的用户执行此操作。点击开始

5)重新启动 Wamp

6)使用端口3306进行mysql访问