今天遇到一个特备奇葩的问题,整个人都陶醉了,哎
我将本地测试的web项目部署到Linux服务器中的tomcat中,访问项目的时候总是提示forum.T_BASE_USER表不存在,我就郁闷了,这个表明明在的呢
今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢?
原来是@Table(name=”T_BASE_USER”)要改成小写,改成小写,改成小写。
(原来一直在错误的考虑问题,我以为是mysql出了问题,我找到tomcat的日志文件,不经意间我删除了mysql数据库user表中的一条数据,然后导致数据库root用户也登录不进去了,然后又搞得数据库服务都启动不了了,整个人都醉了不知道怎么会改成这个模样,一路坎坷啊)
这是百度到的结果,相见恨晚的感觉啊啊啊:
后来请教了一个老师才搞定,原来是LINUX下的MYSQL默认是要区分表名大小写的,哎,弄了那么旧,害死我了。
让MYSQL不区分表名大小写的方法其实很简单:
1.用ROOT登录,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1
3.重新启动数据库即可