怎么让MySQL区分大小写

参考博客

配置MySQL5大小写敏感

MySQL到底大小写敏感还是不敏感?

官方文档

一些默认:
Windows下mysql默认不区分大小写

Linux下mysql默认区分大小写

以下操作均在Windows下进行。

先查看默认设置(看下自己的MySQL是区分大小写还是不区分大小写)

  1. 在命令行中登录MySQL(例如通过命令 mysql -u root -p)。

  2. 在MySQL命令行中输入show variables like 'lower_case_%';

    img

    看lower_case_table_names的值,为0:表示MySQL区分大小写,为1:表示MySQL不区分大小写。

    此处发现lower_case_table_names的值为1,表示MySQL不区分大小写。

    补充:

    lower_case_file_system,代表当前系统文件是否大小写敏感,只读参数,无法修改。ON 大小写不敏感,OFF 大小写敏感。

    此变量描述数据所在的操作系统的文件目录是否区分大小写。 OFF表示文件名区分大小写,ON表示它们不区分大小写。此变量是只读的,它反映了文件系统的属性

    如果你的ower_case_file_system为ON,那就不要往下看了,不能配置大小写敏感!(大大的教训)

再修改配置文件

要使MySQL区分大小写,可以通过修改MySQL的配置文件来实现。MySQL的配置文件位于my.cnfmy.ini 文件中,这取决于你的操作系统。

要修改配置文件,可以按照以下步骤操作:

  1. 找到你的my.cnf或my.ini文件,具体位置和名称取决于你的操作系统和MySQL版本。通常情况下,在Linux上,my.cnf文件位于/etc目录下,而在Windows上,my.ini文件位于 MySQL的安装目录下。

  2. 用文本编辑器打开my.cnf或my.ini文件,并在[mysqld]添加以下内容:

    img

    [mysqld]
    # 设置mysql区分大小写
    lower_case_table_names=0
    
  3. 保存此文件并退出文本编辑器。

  4. 重新启动MySQL服务器以使更改生效。

    打开服务,找到自己的mysql服务,右键重启。

    img

    此处有一个问题,发现更改后启动不了服务了,但是把添加的东西删掉就又可以重启了。

    查这篇博客MySQL到底大小写敏感还是不敏感?发现原因:

    img

    所以不折腾了!!!

    如果数据目录驻留在区分大小写的文件系统上的话,可以试者更改。

    官方文档,发现这句话:

    img

    但是官方文档也给出了解决方案,此处不演示。

    img

    给出别人在Linux上的的示例:别人的示范

最后检查新设置是否生效

为了检查新设置是否生效,我们可以重复第一步的步骤。

posted @ 2024-10-19 15:44  hisun9  阅读(92)  评论(0编辑  收藏  举报