系统环境:Windows 10 专业版
MySQL版本:MySQL 5.7
首先,找到my.ini文件所在的位置,并且打开编辑
1、运行打开服务的命令:services.msc
2、找到MySQL 服务
其次,在my.ini文件最后加一行:lower_case_table_names=2,并且重启MySQL服务。
很多说在my.ini 文件中 [mysqld]节点后面加lower_case_table_names=2,就可以了,但是添加后并没有生效,可能是系统版本、数据库版本等问题,没有时间去深究,特此记录。
为什么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.
- 设置成0:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时大小写敏感。
- 设置成1:表名转小写后存储到硬盘,比较时大小写不敏感。
- 设置成2:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时统一转小写比较。
更多的资料,可以参考官方文档系统变量部分:
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_lower_case_table_names