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

时间:2014-08-22 07:52:37

标签: java mysql jdbc mysql-connector

我使用了mysql server 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服务器兼容性错误吗?

有人能找到原因吗?

1 个答案:

答案 0 :(得分:1)

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

  

较旧版本的MySQL使用SET OPTION,但不推荐使用SET而不使用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 ...命令。否则,您需要修复代码以使用更新的语法。