java - 服务器启动错误 - SQL 语法错误

标签 java mysql jdbc mysql-connector

我使用mysql服务器5.6.19和mysql-connector-Java-5.0.8。我有以下错误。

ERROR {xxxxxxx} -  Error while retrieving roles from Internal JDBC role store
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax;             
check the manual that corresponds to your MySQL server version for the right syntax to use                         
near 'OPTION SQL_SELECT_LIMIT=100' at line 1

这是mysql服务器兼容性错误吗??

有谁能找出这是什么原因吗?

最佳答案

问题是 - 可能 - JDBC 驱动程序正在使用旧的 SET OPTION <option-name> ...语法,自 MySQL 5.0(可能更早)以来已被弃用。参见 SET in the MySQL 5.0 documentation的评论:

Older versions of MySQL employed SET OPTION, but this syntax is deprecated in favor of SET without OPTION.

MySQL 5.6仅支持 SET <option-name> ... .

您的 JDBC 驱动程序确实很旧。请参阅http://bugs.mysql.com/bug.php?id=66659 :您需要将 Connector/J 库升级到一个更新的版本(例如最新的:5.1.32:http://dev.mysql.com/downloads/connector/j/)。

这是假设您的代码不执行任何 SET OPTION ...命令自己。否则,您将需要修复代码以使用更新的语法。

关于java - 服务器启动错误 - SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25442120/

相关文章:

java - Spring 油封问题 : Mapping View to Controller Error (NoClassDefFoundError: javax/servlet/jsp/jSTL/core/Config)

java - 如何在java中将多个对象分配给分割字符串的一部分?

php - 从mysql结果创建数组?

mysql - 使用内连接时的 SQL 设置变量

java - 如何在 Slick2D 中的随机位置接触后重生矩形?

java - 关于接口(interface)的不适用方法错误

mysql - 备份 MySQL 数据库并以另一个名称恢复它

Java SQLite org.sqlite.JDBC 类路径损坏?

java - 我可以使用 MySQL Connector/J 执行以分号分隔的多个查询吗?

java - jdbc executeUpdate 在自动提交模式下失败