美文网首页
解决MySQL数据库名和表名大小写敏感

解决MySQL数据库名和表名大小写敏感

作者: JADDC | 来源:发表于2018-10-17 11:03 被阅读0次

    系统环境:Windows 10 专业版
    MySQL版本:MySQL 5.7

    首先,找到my.ini文件所在的位置,并且打开编辑
    1、运行打开服务的命令:services.msc
    2、找到MySQL 服务

    MySQL服务.png

    其次,在my.ini文件最后加一行:lower_case_table_names=2,并且重启MySQL服务。

    很多说在my.ini 文件中 [mysqld]节点后面加lower_case_table_names=2,就可以了,但是添加后并没有生效,可能是系统版本、数据库版本等问题,没有时间去深究,特此记录。

    my.ini文件.png
    为什么windows不能取0?官方文档,操作系统是不支持大小写敏感的文件系统。

    You should not set lower_case_table_names to 0 if you are running MySQL on a system where the data directory resides on a case-insensitive file system (such as on Windows or OS X).

    变量lower-case-table-names的取值

    取值范围有三个,分别是0、1、2.

    1. 设置成0:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时大小写敏感。
    2. 设置成1:表名转小写后存储到硬盘,比较时大小写不敏感。
    3. 设置成2:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时统一转小写比较。
    更多的资料,可以参考官方文档系统变量部分:

    https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_lower_case_table_names

    其他参考

    https://www.linuxidc.com/Linux/2018-01/150696.htm

    相关文章

      网友评论

          本文标题:解决MySQL数据库名和表名大小写敏感

          本文链接:https://www.haomeiwen.com/subject/knulzftx.html