背景:
最近刚接到一个项目,Demo在本地跑起来后没有啥问题(Window环境),然后把项目部署到服务器(Linux)后,发现项目启动不起来报错,看了下Tomcat的启动日志,报错翻译过来说的是“项目初始化的时候XXXX.XXXX表不存在”,实际看了下对应的表确实是存在的,但是注意到了一个细节,Tomcat日志报的表不存在,表的名称都是大写的,如 DATABASE.TABLE 不存在,实际数据库里的表名称如 database.table 问题明确了,Linux系统下是区分了表名称大小写了。
网络上有很多关于Linux下修改MySQL数据库不区分大小写的方式,这里还是自己记录下,确保,下次用自己的就一定是对的。
环境:
Linux:
cat /etc/redhat-release
uname -a
CentOS Linux release 7.5.1804 (Core)
Mariadb:
mysql -V
1、确认系统当前是否敏感表名称的大小写
登录到MySQL(Mariadb)运行以下命令
show Variables like '%table_names'
2、修改为不敏感表名称的大小写
vim /etc/my.cnf
在如下位置加入以下字段:
lower_case_table_names=1