1

我可以使用来自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); 
        }
    }

}

我收到以下错误:

错误java.sql.SQLException:null,来自服务器的消息:“主机'user-PC.Home'不允许连接到这个MySQL服务器”

4

2 回答 2

0

MySQL 用户 ID 有一个HOST关联。

所以 MySQL 用户 ID 的完整故事说:这个用户 ID 被允许使用这个密码连接,并且只能从这个或多个客户端连接,客户端是允许连接的主机。

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

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

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

我希望这能让你开始。

这是添加用户的 MySQL 文档

于 2013-10-01T09:40:51.577 回答
0

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

执行以下操作

1)通过单击任务栏上的 W 图标转到phpMyAdmin

2) 转到用户选项卡。您会发现 5 个条目,其中三个命名为 root,其余两个命名为Any

3) 在名为Any的两个用户上单击Edit Privileges

4) 选中名为 Globalprivilege Check all 的复选框。对名为Any的两个用户执行此操作。然后点击Go

5)重启Wamp

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

于 2016-01-03T15:49:53.963 回答