【问题标题】:jooq 3.11.9 with MySQL Ver 8.0.11jooq 3.11.9 和 MySQL 版本 8.0.11
【发布时间】:2019-06-23 14:42:01
【问题描述】:

我使用的是 jooq 版本 3.11.9,并且我在本地安装了 MySQL 版本 8.0.11。在启动 jooq 与 Mysql 的连接时,出现以下错误:

org.jooq.exception.DataAccessException: SQL [select 1 as `one` from dual where exists (select 1 as `one` from `mysql`.`proc`)]; Table 'mysql.proc' doesn't exist

我了解 MySQL Ver 8.0.11 不包含此表。那么解决方案是什么?我无法降级 MySQL 版本,因为其他项目已经在使用此版本运行。

【问题讨论】:

    标签: java mysql spring jooq


    【解决方案1】:

    正如你在mysql中看到的Release notes

    以前,有关存储例程和事件的信息存储在 mysql 系统数据库的 proc 和 event 表中。这些表不再使用。相反,有关存储的例程和事件的信息存储在 mysql 系统数据库中的例程、事件和参数数据字典表中。旧表使用 MyISAM(非事务性)存储引擎。新表使用 InnoDB(事务)引擎。

    【讨论】:

    • 它说mysql.proc 不存在。
    • 那有什么解决办法呢?我应该降级吗?
    • @HarshitGupta 很难说没有看到你的配置和声明来自哪里
    【解决方案2】:

    该查询正是用于检查您是否在 MySQL 8+ 上运行。它不应该导致错误甚至堆栈跟踪(但可能是调试消息)。您可以放心地忽略它。

    如果您发现错误或堆栈跟踪消息,或者这导致您的代码生成失败,则可能是 jOOQ 日志记录配置中的错误,我会邀请您在此处提交:https://github.com/jOOQ/jOOQ/issues/new

    【讨论】:

    • 嗨 Lukas,所以我的应用程序确实无法以堆栈跟踪消息启动。所以我在 Github 有一个问题。非常感谢
    猜你喜欢
    • 1970-01-01
    • 2018-12-22
    • 2018-11-22
    • 2019-08-22
    • 2018-12-17
    • 1970-01-01
    • 2021-10-29
    • 2012-04-14
    • 2022-01-22
    相关资源
    最近更新 更多