您好,我正在开发一个使用 JPA 访问数据库的 Liferay portlet。我正在使用 Tomcat 7 和 MySQL。
此 portlet 在我的机器上运行良好,但是当我将 portlet 移动到另一台服务器的测试环境并尝试在测试门户中使用它时,我收到以下错误:
用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)
我的persistence.xml中的数据库连接数据库是可以的。
我尝试将错误的连接数据放入 persistence.xml 以查看错误是否已更改,但没有更改。例如,我将用户设置为“wronguser”,当我部署 portlet 并尝试再次使用它时,我得到了完全相同的错误:
用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)
即使我更改数据库名称或 URL,错误也始终相同。好像有什么东西没有更新。我尝试删除 Tomcat 临时文件夹但没有帮助。
有什么想法吗?
提前致谢。
最佳答案
I tried putting wrong connection data in the persistence.xml to see if the error changed but it didn't. For example I set the user as "wronguser" and when I deployed the portlet and tried to use it again I got exactly the same error:
这只是表明最后给 mysql 的用户名/密码不是预期的来自您的配置文件,而是来自其他地方的 to-be-identified-
直到您看到 mysql 提示“wronguser”无法连接,这是要清除的第一个障碍,问题很可能出在应用程序设置中,而不是在 mysql 中。
如果 mysql 服务器稍后提示“wronguser”的权限,那么可以肯定的是,接下来要调查的区域将授予该用户权限,但您需要先将正确的用户/主机/密码信息传送给服务器。
关于java - 用户 'root' @'localhost' 的访问被拒绝(使用密码 : YES),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407399/