我使用了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服务器兼容性错误吗?
有人能找到原因吗?
答案 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 ...
命令。否则,您需要修复代码以使用更新的语法。