今天同事和我说他在本地运行得好好的程序放到linux上却提示表不存在。我一看,数据库的表名全部是小写,程序却全部用大写。之所以在本地能运行,是因为windows的文件名是不区分大小写的,Linux却严格区分呢。如果要把程序全部改一遍也比较麻烦,这个可以通过修改my.cnf 实现不区分大小写,修改办法是:
vi /etc/my.cnf
在[mysqld]下加入一行:
lower_case_table_names=1
这句话就表示不区分大小写表名。重启一下MySQL服务应该就可以了。