背景: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).