MySQL数据库和表名大小写敏感开关的打开办法

时间:2021-10-15 08:20:17

背景:window 10系统安装了MySQL57,使用可视化操作工具Navicat Premium 12进行相关操作,一切比较顺利。但在建立数据库和表时,发现大小写命名不敏感。区分大小写输入,保存后默认都是小写的。

需求:需要数据库中一切的命名都对大小写敏感。

解决办法:查找了相关资料,知悉Linux系统中安装MySQL都是默认为大小写敏感的。而window系统是对大小写不敏感的,所有对MySQL数据库也是这样。这就需要在window系统中设置MySQL为大小写敏感。也就是打开MySQL数据库大小写敏感开关。

操作如下:

一、查看确认开关值是否为1

  show variables like '%lower_case_table_names%';

二、修改MySQL的配置文件,也就是将lower_case_table_names的值改为0

  修改方法:
  1. 找到MySQL的安装目录位置(在系统服务中右键,查看属性的路径即可)
  2. 找到主目录下的my.ini配置文件
  3. 在[mysqld]节点下添加lower-case-table-names=0
  4. 重启MySQL服务

三、修改完MySQL的配置文件后,无法启动服务

  原因和办法:

  https://dev.mysql.com/doc/refman/5.6/en/identifier-case-sensitivity.html
  Use lower_case_table_names=0 on Unix and lower_case_table_names=2 on Windows

  官方文档给出了答案,说白了就是操作系统是不支持大小写敏感的文件系统。
  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).