连接mysql数据库java

我正在尝试从Java连接到MySQL数据库(MySQL托管在WAMP服务器中)

String userName = "root"; String password = "pass"; String url = "jdbc:mysql://localhost/dbase"; Class.forName ("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection (url, userName, password); 

当我从localhost运行时,连接正常。 但是,当我从另一台计算机运行此代码替换localhost与我的计算机的IP(在同一网络内)时,我收到错误,

 message from server: "Host '' is not allowed to connect to this MySQL server" 

我也尝试过端口3306。 怎么了?

这是数据库方面的权限问题; 您需要向用户root授予权限才能从您的特定IP地址进行连接。

像这样的东西应该工作:

 GRANT ALL ON foo.* TO root@'1.2.3.4' IDENTIFIED BY 'PASSWORD'; 

另一方面; 我不会使用root来访问数据库; 您应该使用常规用户帐户。

您不应该使用root帐户进行开发。 要解决您的问题,请创建一个名为dbasedev的假设用户。

 CREATE USER 'dbasedev'@'%' IDENTIFIED BY 'passw0rd!'; GRANT ALL PRIVILEGES ON *.* TO 'dbasedev'@'%'; FLUSH PRIVILEGES; 

这将允许您使用用户ID连接到MySQL服务器: dbasedev ,密码: passw0rd! ,来自任何主机。

这是@ Icarus答案的补充,我无法在评论中发布所有代码。