java.sql.SQLException: null, message from server: “Host ‘xxx’ is not allowed to connect

因为公司需要把项目和数据库分开进行,所以有2台服务器,直接修改连接池ip后,出现了java.sql.SQLException: null, message from server: “Host ‘xxx’ is not allowed to connect这样的错误,它的意思就是安装了数据库的服务器不允许部署项目的服务器进行远程连接。也就是权限问题,修改权限就可以了,修改方法是。

找到user表,这个可以通过工具找,因为我的远程连接工具是Navicat,user表就在这里打开user表,比如我这里项目用的用户名是bjtf,那么就把bjtf的Host改成%,就可以了,之后还要执行一下执行刷新权限:flush privileges(它的执行就像sql语句一样执行就可以了);步骤也可以这样操作:

在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:
执行use mysql;
select host,user,password from user;
可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
调整方法:
执行:update user set host='%' where user ='root';
执行刷新权限:flush privileges;
可以测试外网连接mysql服务器。

因为公司需要把项目和数据库分开进行,所以有2台服务器,直接修改连接池ip后,出现了java.sql.SQLException: null, message from server: “Host ‘xxx’ is not allowed to connect这样的错误,它的意思就是安装了数据库的服务器不允许部署项目的服务器进行远程连接。也就是权限问题,修改权限就可以了,修改方法是。

找到user表,这个可以通过工具找,因为我的远程连接工具是Navicat,user表就在这里打开user表,比如我这里项目用的用户名是bjtf,那么就把bjtf的Host改成%,就可以了,之后还要执行一下执行刷新权限:flush privileges(它的执行就像sql语句一样执行就可以了);步骤也可以这样操作:

在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:
执行use mysql;
select host,user,password from user;
可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
调整方法:
执行:update user set host='%' where user ='root';
执行刷新权限:flush privileges;
可以测试外网连接mysql服务器。

猜你喜欢

转载自blog.csdn.net/m0_46267375/article/details/116330364