centos下mysql中table大小写改为不敏感

Posted 未月廿三

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos下mysql中table大小写改为不敏感相关的知识,希望对你有一定的参考价值。

项目由win系统部署到linux系统下,启动项目报错如下:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jeecg-boot.QRTZ_LOCKS' doesn't exist
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:389)
        at com.mysql.jdbc.Util.getInstance(Util.java:372)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2535)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1911)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2034)
        at com.zaxxer.hikari.proxy.PreparedStatementProxy.executeQuery(PreparedStatementProxy.java:52)
        at com.zaxxer.hikari.proxy.HikariPreparedStatementProxy.executeQuery(HikariPreparedStatementProxy.java)
        at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:96)

其实一看提示信息就感觉差不多了,QRTZ_LOCKS是大写,但是数据库中是小写qrtz_locks。 其实就是linux 表名不区分大小写,解决办法。

vi /etc/my.cnf 
在 [mysqld] 节中添加: 
lower_case_table_names=1

然后重启MySQL(在根目录下运行命令即可):

systemctl restart mysql

就可以了。

以上是关于centos下mysql中table大小写改为不敏感的主要内容,如果未能解决你的问题,请参考以下文章

Centos7 下mysql大小写敏感问题

CentOS7 下调教mysql记实 之三

Linux(centos) 设置MySQL数据库不区分大小写

windows下mysql的lower_case_table_names=0也无法区分大小写?

Linux下设置mysql不区分大小写

docker 安装mysql 忽略table大小写问题