jooq 3.11.9 with MySQL Ver 8.0.11



我正在使用jooq版本3.11.9,并且我在本地安装了MySQL Ver 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版本,因为其他项目已经使用此版本运行。

正如您在 mysql 发行说明中看到的:

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

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

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

最新更新