我的 MySQL 服务器在 IP 地址为 181.2.3.5 的机器上运行,并且我有一个名为affablebean
running 的数据库。我可以通过同一台机器进行连接。但是,当我尝试远程访问它以部署 java 应用程序时,却出现以下错误:
内部异常:java.sql.SQLException:分配连接时出错。原因:无法分配连接,因为:用户'root'@'181.2.3.4'的访问被拒绝(使用密码:YES)
两个系统都在 LAN 上。我尝试了以下查询来授予特权:
GRANT ALL ON *.* to 'root'@'%' IDENTIFIED BY 'sql123';
flush privileges;
还有下面的东西:
GRANT ALL ON *.* to 'root'@'181.2.3.4' IDENTIFIED BY 'sql123';
flush privileges;
但是我仍然遇到同样的错误,我尝试重新启动 mysql 服务,但它仍然不接受连接。
顺便说一句,服务器运行的是 Windows XP,客户端运行的是 Windows 7。我还尝试了以下查询:
mysql> use mysql;
mysql> SELECT host FROM user WHERE user = 'root';
它正确返回我的IP地址。但仍然是同样的错误。谁能指导我?我从各种 SO 问题中尝试了上述解决方案。
注意:以上IP地址和用户名只是一个占位符来说明。
编辑:我可以从 Workbench 访问,但我无法从 Java 程序访问。