我可以使用来自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服务器“
答案 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.100
或192.168.0
或{{1}}从该单个IP地址登录允许从该子网上的任何IP访问。
我希望这能让你开始。
以下是Adding Users
的MySQL文档答案 1 :(得分:0)
如果您确定用户不会损害您的数据,请将所有权限授予root用户。
执行以下操作
1)点击任务栏上的W图标,转到 phpMyAdmin
2)转到用户标签。您将找到5个条目,其中三个被命名为root,其余两个为任何
3)在名为任何的两个用户上,点击编辑权限
4)选中名为全局权限的复选框全部检查。对名为任意的用户执行此操作。点击开始
5)重新启动 Wamp
6)使用端口3306进行mysql访问