tomcat部署时mysql的root存在多个主机用户导致错误:java.sql.SQLException: Access denied for user 'root'@'centos' (using password: YES)

1、对于该错误,字面意思是root用户没有访问权限,但是mysql中已给予root用户所有ip和主机下的所有权限,就是'root'@'%'的权限。这是可以验证的,通过Navicat和Idea调试都时可以连接的,没有任何问题,这也证明了用户名和密码都没有问题。

2、但是当通过war包部署到tomcat中时就抛出标题中的错误。即使专门给'root'@'centos'赋予全部权限也还是报错。

3、后来将root的所有特殊主机用户(测试时添加的root@localhost和root@centos)全部删除,只剩下root@'%'时,部署成功没有报错。

4、对于其它用户比如testUser,即使testUser@'%'和testUser@centos同时存在时,也可以部署成功。

5、通过验证得出对于root用户,通过tomcat部署时,只允许存在一个主机用户即root@'%',如果还存在其它的,部署时将会抛出标题中错误。

posted @ 2019-11-07 19:20  StarkBrothers  阅读(367)  评论(0编辑  收藏  举报