【问题标题】:web application can't query from MySQL on serverWeb 应用程序无法从服务器上的 MySQL 查询
【发布时间】:2015-07-09 00:12:54
【问题描述】:

我在 tomcat 服务器上部署了一个 web 应用程序 (jsf+hibernate),它试图连接到另一台服务器上的 MySQL 数据库,当我开始连接到 MySQL 服务器时,我添加了 web 应用程序服务器 ip我得到的应用程序

23:55:50,077  WARN SqlExceptionHelper:144 - SQL Error: 1142, SQLState: 42000
23:55:50,077 ERROR SqlExceptionHelper:146 - SELECT command denied to user 'xxx'@'yyyy' for table 'zzz'
org.hibernate.exception.SQLGrammarException: could not extract 

ResultSet
...

请注意,我已经给了用户所有的权限,我也可以从net beans连接到数据库并正常查询。 还在本地主机上运行 Web 应用程序和 mysql,工作正常。

【问题讨论】:

  • 您是否阅读过类似问题的答案? stackoverflow.com/questions/4767055/…
  • 我已经检查了所有这些,除了......表名,即 schema_table vs schema.table
  • 这是否解决了问题?如果没有,你知道正在运行什么 SELECT 语句吗?
  • 查询是由休眠生成的,我无法更改。是的,查询是从schema.newgar_ownership this_中选择this_.id as id1_5_0_,this_.owner_type as owner_ty2_5_0_
  • “模式”是本地和远程服务器上的数据库名称吗?

标签: mysql hibernate tomcat


【解决方案1】:

确保您在本地和远程服务器上具有相同的数据库名称。通常,数据库主机会为数据库名称添加一个前缀或后缀,这与您在 hibernate 中的名称冲突。

【讨论】:

    猜你喜欢
    • 2018-07-27
    • 2011-10-05
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多