千家信息网

mysql 大小写敏感 lower_case_table_names

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,在MySQL中,数据库对应数据目录中的目录。数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎)。因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。在大多
千家信息网最后更新 2026年11月01日mysql 大小写敏感 lower_case_table_names在MySQL中,数据库对应数据目录中的目录。数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎)。因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。
在大多数Unix中数据库名和表名对大小写敏感,而在Windows中对大小写不敏感。一个显著的例外情况是Mac OS X,它基于Unix但使用默认文件系统类型(HFS+),对大小写不敏感。然而,Mac OS X也支持UFS卷,该卷对大小写敏感,就像Unix一样。
变量lower_case_file_system说明是否数据目录所在的文件系统对文件名的大小写敏感。ON说明对文件名的大小写不敏感,OFF表示敏感。

Mysql官方文档的介绍:

Value

Meaning

0

Table and database names are stored on disk using the lettercase specified in the CREATE TABLE orCREATE DATABASE statement. Name comparisons are case sensitive. You should not set this variable to 0 if you are running MySQL on a system that has case-insensitive file names (such as Windows or Mac OS X). If you force this variable to 0 with --lower-case-table-names=0 on a case-insensitive file system and access MyISAM tablenames using different lettercases, index corruption may result.

1

Table names are stored in lowercase on disk and name comparisons are not case sensitive. MySQL converts all table names to lowercase on storage and lookup. This behavior also applies to database names and table aliases.

2

Table and database names are stored on disk using the lettercase specified in the CREATE TABLE orCREATE DATABASE statement, but MySQL converts them to lowercase on lookup. Name comparisons are not case sensitive. This works only on file systems that are not case sensitive! InnoDB table names are stored in lowercase, as for lower_case_table_names=1.

默认为0,大小写敏感。

设置1,大小写不敏感。创建的表,数据库都是以小写形式存放在磁盘上,对于sql语句都是转换为小写对表和DB进行查找。

设置2,创建的表和DB依据语句上格式存放,凡是查找都是转换为小写进行。

If you plan to set the lower_case_table_names system variable to 1 on Unix, you must first convert your old database and table names to lowercase before stopping mysqld and restarting it with the new variable setting. To do this for an individual table, use RENAME TABLE:

当想设置lower_case_table_names = 1时,在重启数据库实例之前就需要将原来的数据库和表转换为小写。

官方文档的解释。要开启lower_case_table_names = 1 。先要将大写字母数据库更改为小写。否则将找不到数据库名。

所以要想忽略大小写,还需要提前将大写数据库名更改小写,否则报错。数据库名无法rename.可以新建一个小写的数据库名。
然后rename table 到新的数据库,完成表的迁移。
在进行数据库参数设置之前,需要掌握这个参数带来的影响,切不可盲目设置。

数据 数据库 小写 大小 文件 对大 目录 系统 参数 大写 官方 敏感性 文件名 文档 语句 显著 操作系统 取决于 变量 多个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网龙头 河南真二互联网科技有限公司 互联网科技集团 苏州互联网科技贷款公司 科技创新互联网企业 无线互联网科技 互联网科技英文翻译 互联网科技博主是什么意思 来此购互联网科技有限公司 晓花互联网科技有限公司网址 互联网科技公司有风险吗 如何创新互联网科技 上海京穆互联网科技有限公司 江苏互联网智能科技软件 卡尔迅互联网科技有限公司 新氧科技和美国互联网有关系吗 求路客互联网科技电话 第三届互联网大会安防黑科技 中国主要互联网科技公司 如何强化互联网金融科技 上海挚品互联网科技有限公司 深圳恒合互联网络科技有限公司 天下捷融互联网科技 太原新华互联网科技学校怎么样 成都玖崟互联网科技有限公司乐商圈怎么样 字节跳动和互联网科技 互联网时代科技改变生活 易企秀互联网科技是做什么的 平安好医生打造互联网科技医疗 株洲百竞科技的互联网营销顾问
0