关于在java项目部署过程MySQL拒绝连接的分析和解决方法
前言
在最近一次部署项目一次项目部署过程中,由于没有对MySQL数据库的部分权限和远程连接进行授权,导致了在执行项目功能API时,出现MySQL连接异常或MySQL拒绝连接的问题。
问题
以下是部分报错截图:
分析
根据日志提示,初步判断为以下两点:
-
权限不足
- 数据库中没有为 对应账号和服务器分配访问 数据库的权限。
-
远程连接限制
- MySQL 可能只允许来自本地的连接,或者
'root'
用户未被配置为允许远程连接
- MySQL 可能只允许来自本地的连接,或者
根据分析,直接登录MySQL服务器,为对应IP和账号分配了访问权限,如下:
GRANT ALL PRIVILEGES ON drhub.* TO 'user'@'ip' IDENTIFIED BY '你的密码';
FLUSH PRIVILEGES;
再次回到应用服务器进行测试,完美解决!
我们对用户进行了权限完全分配,如果你不希望给予 ALL PRIVILEGES,可以根据实际需求调整权限(例如 SELECT、INSERT、UPDATE 等)。
具体根据实际情况进行权限分配!