问题描述
本地运行的java程序访问服务器数据库时报错:
相关配置信息:
解决过程
通过错误信息判断,应该是数据库权限的问题,服务器上的数据库不允许远程连接,所以对数据库的访问权限进行修改。
通过Navicat连接数据库,找到mysql库中的user表,可以看到数据库中用户Host字段的值均为localhost,这就导致mysql只允许本机连接,即服务器上的运行的应用连接。
我们将root用户Host字段的值改成‘%’:
最后需要让数据库执行flush privilege语句,刷新权限:
再次运行本地java程序,发现问题已经解决了。
注意点:
1、修改完用户的权限以后一定要记得执行flush privilege语句。