使用pc客户端的java app连接mysql

使用pc客户端的java app连接mysql,java,Java,我已将mysql安装到windows pc(ip 192.168.1.100) 我制作了一个java应用程序 当应用程序使用mysql在同一台pc上运行时,它正在运行 String userName = "root"; String password = "1234"; String url = "jdbc:mysql://localhost/emi"; Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverMana

我已将mysql安装到windows pc(ip 192.168.1.100) 我制作了一个java应用程序

当应用程序使用mysql在同一台pc上运行时,它正在运行

String userName = "root";
String password = "1234";
String url = "jdbc:mysql://localhost/emi";
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, userName, password);
我无法从同一网络中的其他pc运行它。我使用的代码是

String userName = "root";
String password = "1234";
String url = "jdbc:mysql://192.168.1.100:3306/emi";
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, userName, password);

我是否应该使MySQL Workbench与另一台pc建立低连接?

您必须授予IP地址的权限

在命令行(cmd.exe)上执行:

Windows防火墙可能会阻止端口3306

如果您不想从远程PC获得完整的根用户权限,您可能应该首先创建一个用户emiuser


然后可以在本地测试192.168.1.100:3306。

什么是异常堆栈跟踪?请检查以确保您已启用从远程pc登录的凭据。此外,您不应在应用程序中使用根凭据。在我的防火墙(windows 7)中,MySQL55配置文件为“全部”,已启用,操作为“允许”,远程地址为“任何我是新用户”,我不明白您写了什么。如果你一步一步地说,那就太好了。我编辑了我的答案,告诉你在哪里运行这个。您还可以在Java中运行这个
GRANT…
。然后MySQL也提供了一个MySQL工作台。
C:\....> mysql -uroot -p 1234
mysql> GRANT ALL ON emi.* TO root@'192.168.1.100' IDENTIFIED BY '1234';
mysql> \q