解决Mysql5.7区分大小写的问题

    在MySQL中,数据库对应数据目录中的目录。数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎)。因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。

    在大多数Unix中数据库名和表名对大小写敏感,而在Windows中对大小写不敏感。一个显著的例外情况是Mac OS X,它基于Unix但使用默认文件系统类型(HFS+),对大小写不敏感。然而,Mac OS X也支持UFS卷,该卷对大小写敏感,就像Unix一样。

    变量lower_case_file_system说明是否数据目录所在的文件系统对文件名的大小写敏感。ON说明对文件名的大小写不敏感,OFF表示敏感。

例如在windows下查看:

说明windows系统对大小写不敏感,mysql也默认设置为对大小写不敏感


linux下:

    数据库名与表名是严格区分大小写的;

    表的别名是严格区分大小写的;

    列名与列的别名在所有的情况下均是忽略大小写的;

    变量名也是严格区分大小写的;

windows下:

    都不区分大小写

Mac OS下(非UFS卷):

    都不区分大小写 

unix下lower_case_table_names默认值为 0 

Windows下默认值是 1

Mac OS X下默认值是 2


方法:找到你安装MySQL的时候的my.cnf这个文件

如下图所示:在 mysqld下添加一行 

lower_case_table_names=1 (1不区分大小写,0区分大小写,默认为0)

修改好后保存退出。

重启MySQL:

service mysqld restart

检查是否生效:登录到mysql

进入到bin目录:

执行:./mysql -u username -p password

再输入:show variables like ‘%case_table%’;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容