首页
学习
活动
专区
工具
TVP
发布

LOWER_CASE_TABLE_NAMES

http://blog.csdn.net/jesseyoung/article/details/40617031 1 简介     在MySQL中,数据库对应数据目录中的目录。...列名与列的别名在所有的情况下均是忽略大小写的;     变量名也是严格区分大小写的;     windows下:     都不区分大小写     Mac OS下(非UFS卷):     都不区分大小写 3 参数说明(lower_case_table_names...)     unix下lower_case_table_names默认值为 0 .Windows下默认值是 1 .Mac OS X下默认值是 2 ....1 表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写在存储和查找表上。该行为也适合数据库名和表的别名。该值为Windows的默认值。...2.在my.cnf中更改lower_case_tables_name = 1,并重启mysql数据库。     3.将导出的数据导入mysql数据库。

96410
您找到你想要的搜索结果了吗?
是的
没有找到

mysql8卸载重新安装并配置lower_case_table_names=1

酒食上得来的朋友,等到酒尽樽空,转眼成为路人——莎士比亚 因为mysql8不支持在已经初始化完成后再进行配置lower_case_table_names 我这里卸载重装(重新初始化应该也可以吧?...cd /etc/mysql/mysql.conf.d/ 修改字符集以及配置表名以小写形式存储,并且在比较时不区分大小写 [mysqld] character_set_server = utf8mb4 lower_case_table_names...= 1 # 注释掉 bind-address = 127.0.0.1 然后重建数据目录 root@iZuf6afyp0j8anyom0ro8zZ:~# rm -rf /var/lib/mysql root...UPDATE user SET host = '%' WHERE user = 'mysql'; Query OK, 0 rows affected (0.00 sec) Rows matched: 1...创建数据库并赋予权限 mysql> create database test default charset utf8mb4 COLLATE utf8mb4_general_ci; Query OK, 1

48750

小知识:MySQL修改lower_case_table_names参数

环境:MySQL 5.7.25 起初创建环境时没有要求表名称不区分大小写,后续应用使用提出要设置lower_case_table_names=1的需求,期望表名不再区分大小写。...1.默认区分大小写的环境 2.修改参数lower_case_table_names 3.验证表名区分大小写情况 1.默认区分大小写的环境 默认在lower_case_table_names=0的情况下...在my.cnf配置文件中[mysqld]标签的作用区域,增加`lower_case_table_names=1`的配置,然后重启MySQL服务: service mysqld restart 3....但是原表T1,在参数修改后,通过t1和T1都无法访问,细看报错可以看到无论我们传入T1还是t1,都是按照小写的t1来解析。...set (0.00 sec) 至于之前的T1,如果想要清理删除,可改回lower_case_table_names=0后进行删除。

5K10

【MySQL】lower_case_table_names参数详解

1.参数说明: lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的 lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写...lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的 unix,linux下lower_case_table_names默认值为 0 .Windows下默认值是...1 .Mac OS X下默认值是 2 2.查看方法: # 进入mysql命令行 执行以下任一语句查看: show variables like 'lower_case_table_names'; select...@@lower_case_table_names; 3.更改方法: 更改数据库参数文件my.cnf 在mysqld下 添加或修改 lower_case_table_names = 1 之后重启数据库...:rename table TEST_TB to test_tb; 3.设置lower_case_table_names = 1 4.重启数据库

2.7K10

修改 lower_case_table_names 导致 frm 文件删除失败

1 步,确认系统变量 lower_case_table_names 的值是 0: MySQL root@localhost> show variables like 'lower_case_table_names...这是因为 lower_case_table_names = 1 时,MySQL 内部会使用小写形式的表名,具体请看后面关于 lower_case_table_names 的介绍。 2....3. lower_case_table_names 系统变量 lower_case_table_names 会影响数据库名、数据库目录名、表名、frm 文件名、ibd 文件名,它有 3 种取值(0、1、...lower_case_table_names = 1 时,删除数据库,ibd 文件删除成功,frm 文件删除失败。 我们还是以 1....Test.ibd 3.1 lower_case_table_names = 1 小节介绍过,lower_case_table_names 修改为 1 之后,server 层通过表名去 InnoDB 查找对应的表之前

59830

故障分析 | 库表名-大小写不规范,运维两行泪

而当前的 MySQL 环境是 lower_case_table_names = 1(也就是不论 sql 中是否明确了表名的大小写,均按小写去匹配),可以确定此环境变量有做过变更。...那么,我们不妨做出如下猜想:在 lower_case_table_names = 1 环境下,下发了 DROP database 操作。...=1 ,并重启 MySQL ;在 lower_case_table_names=1 条件下,模拟删除数据库:test_database ;查看物理文件信息以及 mysql-error.log 信息;使用...;在 lower_case_table_names=1 条件下,MySQL 使用小写字母(不论 sql 语句里是否明确使用大写表名)去匹配需要删除的库表文件;在 lower_case_table_names...场景1:将 MySQL 的环境变量 lower_case_table_names 从默认的 0 ,修改为1先将库名和表名转换为小写;编辑配置文件,添加配置:lower_case_table_names

57310

关于MySQL库表名大小写问题

一般很少将 lower_case_table_names 参数设置为 2 ,下面仅讨论设为 0 或 1 的情况。...也可以将 lower_case_table_names 设为 1 来解决此问题,我们来看下此参数为 1 时的情况: # 将上述测试库删除 并将 lower_case_table_names 改为 1 然后重启数据库...row in set (0.00 sec) 当 lower_case_table_names 参数设为 1 时,可以看出库表名统一用小写存储,查询时不区分大小写且用大小写字母都可以查到。...这样会更易用些,程序里无论使用大写表名还是小写表名都可以查到这张表,而且不同系统间数据库迁移也更方便,这也是建议将 lower_case_table_names 参数设为 1 的原因。...如果需要将 lower_case_table_names 参数从 0 改成 1 ,可以按照下面步骤修改: 首先核实下实例中是否存在大写的库及表,若不存在大写的库表,则可以直接修改配置文件然后重启。

6.7K32

小白学习MySQL - 大小写敏感问题解惑

/doc/refman/5.7/en/identifier-case-sensitivity.html 概括一下就是, (1lower_case_table_names = 0(Unix默认) 表名存储为给定的大小和比较是区分大小写的...(2) lower_case_table_names = 1(Windows默认) 表名存储在磁盘是小写的,但是比较的时候是不区分大小写。...在所有的系统中,都设置lower_case_table_names1,唯一的缺点,就是当时用show tables或者show databases,不会看到原始大小写。 2....Unix中如果将lower_case_table_names改为1,在重启进程前,需要将旧的数据库和表名改成小写(如果不改,会导致已存在的大写对象不能使用),可以使用rename, RENAME TABLE...T1 TO t1; 如果有很多数据库需要改,则可以导出,设置参数,再导入, 1.

1.2K10

MySQL大小写敏感总结

、table(包括别名)的大小写敏感性可以通过系统参数lower_case_table_names来配置(修改参数的值需要重启数据库); lower_case_table_names =0(Unix default...):大小写敏感,数据按照CREATE 语句中的定义存储在磁盘,且在查询的时候是区分大小写的; 注意:不要在大小写不敏感的系统上使用此设置,因为容易导致像MyISAM引擎表的索引崩溃; lower_case_table_names...=1(Windows default):大小写不敏感,MySQL将数据全部转化为小写形式存储在磁盘上,而且在查询的时候也是全部转化为小写进行比较; lower_case_table_names =2(...CREATE 语句中的定义存储在磁盘上(Innodb是小写存储),但是在查询的时候全部转化为小写进行比较;这种设置仅适用于大小写不敏感的操作系统; 4、trigger identifiers的大小写敏感性不受lower_case_table_names...@[test]>select * from t1 where binary name ='a';+------+------+| id | name |+------+------+| 1 |

3.4K40

故障分析 | 配置文件添加参数后数据库起不来了?

1背景信息 客户要将数据库数据迁移到 DMP[1] 平台上,需要根据源库的配置修改相应参数(例:lower_case_table_names=0),但发现在配置文件添加好参数后数据库起不来了。...[root@b 4444]# cat /opt/mysql/etc/4444/my.cnf |tail -n 3 #lower_case_table_names = 0 lower_case_table_names...[root@b ~]# cat /opt/mysql/etc/4444/my.cnf |tail -n 2 #lower_case_table_names = 0 lower_case_table_names...方法 1:hexdump hexdump 是 Linux 下的一个二进制文件查看工具,它可以将二进制文件转换为 ASCII、八进制、十进制、十六进制格式进行查看。默认显示方式是十六进制。...参考资料 [1] DMP: https://www.actionsky.com/cloudTreeDMP 本文关键字:#MySQL# #参数# #运维#----

12220
领券