繁体   English   中英

用Java连接到MySQL数据库错误

[英]Connecting to MySQL database error in Java

我有一个Java代码,并使用以下连接字符串连接到mysql数据库。

 String userName = "admin";
 String password = "pass";
 String url = "jdbc:mysql://<my IP>/dbase"; //not localhost
 Class.forName ("com.mysql.jdbc.Driver").newInstance ();
 conn = DriverManager.getConnection (url, userName, password);

当我制作一个JAR(通过Eclipse运行可运行的JAR)并将其带到同一网络中的另一台机器时,出现错误

Access denied for user 'admin'@'<another machine IP' (using password: YES) //not localhost

当我将JAR转移到另一台计算机时,IP神奇地更改为另一台计算机IP。 admin用户拥有所有可能的权限。

怎么了? 请帮忙 !!

错误消息中列出的IP地址是您的程序在其上运行的计算机的IP地址 告诉您,不允许您以root身份该IP地址连接到MySQL

您将需要与配置/管理MySQL数据库的人员交谈。 这很有可能是一种故意的安全措施。

也许您应该运行以下命令。

grant all privileges on *.* to 'admin'%'@' identified by 'pass';
flush privilges;

我认为您的Java代码没有问题。 也尝试从命令提示符连接mysql服务器

mysql -u root -h <ip address> -p

如果您遇到相同的错误,则可能的原因是1.使用正确的密码2.拒绝通过网络访问权限

您可以使用以下命令授予权限

GRANT ALL ON db.* to root@'ip' IDENTIFIED BY 'PASSWORD';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM