Connector/J 升级 mysql 到版本 8 后出错

Connector/J error after upgrade mysql to version 8

问题:

我已将 mysql 升级到最新版本:

127.0.0.1$ mysql -V 
mysql  Ver 14.14 Distrib 8.0.0-dmr, for Linux (x86_64) using  EditLine wrapper

现在我无法通过 jdbc 使用程序 mathematica 中的驱动程序 connector/j 连接 mysql。当我尝试这样做时,我看到异常:

JDBC::error: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long

我完成的调试

为了调试,我在虚拟机上安装了最早的 mysql

192.168.43.48$ mysql -V
mysql Ver 14.14 Distrib 5.5.53, for debian-linux-gnu (x86_64) using readline 6.3

并且与最早的 mysql 的连接已正确完成。

您可以在屏幕上看到初始化连接的命令和这些结果:

error.png

我的 Mathematica 使用以下版本的 JDBCConnector/J

我通过执行命令获取这些信息(在 mathematica 而不是 bash):

JDBCDrivers["MySQL(Connector/J)"]

给出输出:

JDBCDriver["Name" -> "MySQL(Connector/J)", 
"Driver" -> "com.mysql.jdbc.Driver", "Protocol" -> "jdbc:mysql://", 
 "Version" -> 3., 
 "Description" -> 
  "MySQL using Connector/J - Version 5.1.27 - This supports all known \
MySQL server versions.", 
 "Location" -> 
  "/usr/local/Wolfram/Mathematica/10.0/SystemFiles/Links/DatabaseLink/\
DatabaseResources/mysql.m"]

我附加了关于 java 版本的信息:

127.0.0.1$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

我应该升级 jdbcconnector/j 还是降级 mysql?也许还有其他解决方案?

Connector/J 5.x 不会连接到 MySQL 8.x 数据库;你必须使用 8.0.x Connector/J 驱动程序。

请注意,对于 8.0.x Connector/J 驱动程序,类路径也发生了变化,从 com.mysql.jdbc.Drivercom.mysql.cj.jdbc.Driver