• 让MySQL不区分大小写

    日期:2009-12-22 | 分类:Mysql数据库

    部署系统的时候,从windows下导出mysql为sql语句,导入到Linux下的mysql,导入顺利,启动工程发现报错,日志里提示看到 找不到 SiteAdmin 但是我的数据库里面明明都是小写,怎么一到Linux里面来就有大小的了呢。后来一查,原来是Linux下mysql对数据库大小写敏感,修改如下:

    unix/linux的文件系统是区分大小写,mysql将数据库表用文件来表示,因此对运行于unix/linux系统中的mysql数据库进行查询 时,SQL语句中的表名大写小敏感的。而windows则大小写不敏感,为了兼容两个系统,我们可以建立全部小写的数据库表名,

    lower_case_table_names=1 让MySQL不区分大小写

    在CentOS安装的MySQL的配置文件中(/etc/my.cnf),是没有lower_case_table_names=1这行的。
    在Windows安装的MySQL的配置文件中(my.ini),是有lower_case_table_names=1这行的。

    lower_case_table_names=1的用途是让MySQL实现不区分大小写。

    所以当时出了些毛病,后来才发现是这个的问题。连忙在CentOS中的my.cnf(/etc/my.cnf)的[mysqld]区段下增加:
    lower_case_table_names=1

    也有从Linux下倒出来到windows中都是大写的情况,同样,在windows配置下填写lower_case_table_names=0即可。