大学毕业了,在过去的这段时间里最值得难忘的就是改写论文和毕业设计了,今天打算把毕业设计项目发布到服务器上作纪念。在Eclipse上导出了项目war包,发布到服务器上运行,结果遇到了点问题,在服务器上怎么也跑不起来,一直报错,具体报错内容如下图:
我就纳闷了,怎么就报错了,而且它报错的内容也不应该啊,它说对应的表不存在,瞎扯吧,我打开数据库查看,相关表和数据都正常,好吧。那我回到本地电脑上再跑一次,结果,本地电脑是可以跑起来的。这说明项目是没有问题的,接着我又把数据库检查了一下,确定也没有问题。这说明出问题的只能是服务器了,为了进一步探索问题,我又把项目发布到测试服上测试,专用于测试的服务器是windows系统,刚才发布报错的服务器是Linux系统,结果情况跟预先想象的一样,能正常跑起来,那为什么Linux上却不行呢?好纳闷啊,问题出在那里呢?因为两边的服务器用的都是宝塔面板,我又检测了一下两边宝塔面板的配置是否有问题,也另外发布了一其他的小项目,结果都是可以运行的,就是这个项目不能在Linux服务器上运行,好奇怪。
经过一段时间的检查都没有发现问题,都是正常的,那问题就出在系统不同的差别,这时候我再次回去看报错的信息,发现一个细节,数据库的表名怎么提示是大写的?马上想到一个问题,MYSQL!MYSQL数据库大小写敏感,在windows系统是不区分大小写的,而Linux是对大小写敏感的!!!
于是我网上找了对应的处理方法:
1、用超级管理员roo登录系统或者宝塔面板操作,打开对应的MYSQL配置文件/etc/my.cnf
2、在[mysqld]节点下,加入一行: lower_case_table_names=1 (1表示不区分大小写)
3、重启数据库
然后进行验证,果然项目就跑起来了,看到这一刻,好气啊!这么简单的问题,Linux课学的东西又还给老师了!这种简单的问题不应该耽误大半天时间来处理,好难忘的教训。