错误"未知系统变量' lower_case_table_names'"从Eclipse访问MySql时

时间:2015-08-19 07:25:37

标签: java mysql eclipse

在访问MySQL数据库时,我在eclipse中遇到了SQL异常。我连接到数据库,但它提供了一个例外,即" lower_case_tables_names"。我检查了mysql选项,并将lower_case_tables_names选项更改为1和2,但仍然无法解决问题。我该怎么办?

try {
        System.out.println("DBMS connection established");
        Class.forName("com.mysql.jdbc.Driver");

        connection = (Connection) DriverManager.getConnection(
                "jdbc:mysql://127.0.0.1:3306/test",
                "root", "");
        System.out.println("Database connection provided");

        stmt = (Statement) connection.createStatement();
        System.out.println("You can execute sql comments");
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

以下是例外:

java.sql.SQLException: Unknown system variable 'lower_case_table_names' at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998) at   
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847) at 
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783) 

3 个答案:

答案 0 :(得分:1)

您似乎在“my.cnf”文件中使用旧方法设置变量。

set-variable = lower_case_table_names=1

以上样式对于MySql server 5.6来说是旧的。 对于此版本,您必须指定为(在[mysqld]部分下)

lower_case_table_names=1 

重新启动MySql并检查。

如果您仍无法修复,请提供“my.cnf”文件的详细信息。

答案 1 :(得分:1)

一种选择是更改sql connector的版本。 我也有同样的问题,我将sql connector5.1.38更改为5.1.21,现在它正在运作。

答案 2 :(得分:0)

我遇到了完全相同的问题,将mysql连接器版本更改为5.1.5并且现在完全正常工作。