说明
原文去官网看吧!大致说明如下:
如果设置为 0,则按指定存储表名,并且比较区分大小写。
如果设置为 1,则表名以小写形式存储在磁盘上,并且比较不区分大小写。
如果设置为 2,则表名按给定方式存储,但以小写形式进行比较。 此选项也适用于数据库名称和表别名。
macOS默认值2,Unix默认值0,Windows默认值1
在 Linux(和其他类 Unix 系统)上,不支持将值设置为 2; 服务器将值强制为 0。
如果您在数据目录位于不区分大小写的文件系统(例如 Windows 或 macOS)上的系统上运行 MySQL,则不应将 lower_case_table_names 设置为 0。 这是一个不受支持的组合,当使用错误的 tbl_name 字母大小写运行 INSERT INTO … SELECT … FROM tbl_name 操作时,可能会导致挂起情况。 使用 MyISAM,使用不同字母大小写访问表名可能会导致索引损坏。
如果您尝试在不区分大小写的文件系统上使用 --lower_case_table_names=0 启动服务器,则会打印一条错误消息并退出服务器。
修改配置文件
linux系统为:my.cnf
windows为:my.ini
查看
使用说明里面的系统变量进行查看,查看系统变量有两种方式
方式一:
select @@lower_case_table_names;
方式二:
show variables like 'lower_case_table_names';