需求描述:

  今天遇到了修改lower_case_table_names参数的问题,想了下,如果原来里面有表,表名有大小写的,

  如果将lower_case_table_names从默认的0改为1之后,那么对于原来的表有没有影响.做个实验,在此

  记录下.

操作过程:

1.原来未修改之前,库中创建大小写区分的表

mysql> drop database test05;
Query OK, 2 rows affected (0.05 sec) mysql> create database test05;
Query OK, 1 row affected (0.00 sec) mysql> use test05;
Database changed
mysql> create table tab01(id int); #创建小写的表名
Query OK, 0 rows affected (0.05 sec) mysql> create table Tab01(id int); #创建大写的表名
Query OK, 0 rows affected (0.04 sec) mysql> insert into tab01 select 1; #分别向两个表中插入数据
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into tab01 select 2;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into tab01 select 3;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into tab01 select 4;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select 4;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select 5;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select 6;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> select * from tab01; #小写表名中的数据
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.00 sec) mysql> select * from Tab01; #大写表名中的数据
+------+
| id |
+------+
| 4 |
| 5 |
| 6 |
+------+
3 rows in set (0.00 sec)

2.将lower_case_table_name参数修改为1,重启实例

mysql> select * from Tab01; #查询大写表名,发现是小写表的数据
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 2
Current database: test05 +------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.01 sec) mysql> select * from tab01; #查询小写表名,还是小写表的数据
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.00 sec) mysql> system ls -l /mysql/data/test05 #操作系统上大小写文件都是存在的.
total 220
-rw-r----- 1 mysql mysql 61 Jun 5 17:03 db.opt
-rw-r----- 1 mysql mysql 8556 Jun 5 17:03 tab01.frm
-rw-r----- 1 mysql mysql 8556 Jun 5 17:04 Tab01.frm
-rw-r----- 1 mysql mysql 98304 Jun 5 17:04 tab01.ibd
-rw-r----- 1 mysql mysql 98304 Jun 5 17:05 Tab01.ibd
mysql> insert into Tab01 select * from tab01; #继续向大写表名中插数据.
Query OK, 4 rows affected (0.05 sec)
Records: 4 Duplicates: 0 Warnings: 0 mysql> system ls -l /mysql/data/test05
total 220
-rw-r----- 1 mysql mysql 61 Jun 5 17:03 db.opt
-rw-r----- 1 mysql mysql 8556 Jun 5 17:03 tab01.frm
-rw-r----- 1 mysql mysql 8556 Jun 5 17:04 Tab01.frm
-rw-r----- 1 mysql mysql 98304 Jun 5 17:07 tab01.ibd
-rw-r----- 1 mysql mysql 98304 Jun 5 17:05 Tab01.ibd
mysql> insert into Tab01 select * from tab01;
Query OK, 8 rows affected (0.01 sec)
Records: 8 Duplicates: 0 Warnings: 0 mysql> system ls -l /mysql/data/test05
total 220
-rw-r----- 1 mysql mysql 61 Jun 5 17:03 db.opt
-rw-r----- 1 mysql mysql 8556 Jun 5 17:03 tab01.frm
-rw-r----- 1 mysql mysql 8556 Jun 5 17:04 Tab01.frm
-rw-r----- 1 mysql mysql 98304 Jun 5 17:07 tab01.ibd
-rw-r----- 1 mysql mysql 98304 Jun 5 17:05 Tab01.ibd
mysql> insert into Tab01 select * from tab01;
Query OK, 16 rows affected (0.00 sec)
Records: 16 Duplicates: 0 Warnings: 0 mysql> system ls -l /mysql/data/test05
total 220
-rw-r----- 1 mysql mysql 61 Jun 5 17:03 db.opt
-rw-r----- 1 mysql mysql 8556 Jun 5 17:03 tab01.frm
-rw-r----- 1 mysql mysql 8556 Jun 5 17:04 Tab01.frm
-rw-r----- 1 mysql mysql 98304 Jun 5 17:07 tab01.ibd
-rw-r----- 1 mysql mysql 98304 Jun 5 17:05 Tab01.ibd
mysql> insert into Tab01 select * from tab01;
Query OK, 32 rows affected (0.01 sec)
Records: 32 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select * from tab01;
Query OK, 64 rows affected (0.01 sec)
Records: 64 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select * from tab01;
Query OK, 128 rows affected (0.02 sec)
Records: 128 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select * from tab01;
Query OK, 256 rows affected (0.00 sec)
Records: 256 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select * from tab01;
Query OK, 512 rows affected (0.02 sec)
Records: 512 Duplicates: 0 Warnings: 0 mysql> insert into Tab01 select * from tab01;
Query OK, 1024 rows affected (0.03 sec)
Records: 1024 Duplicates: 0 Warnings: 0 mysql> system ls -l /mysql/data/test05
total 288
-rw-r----- 1 mysql mysql 61 Jun 5 17:03 db.opt
-rw-r----- 1 mysql mysql 8556 Jun 5 17:03 tab01.frm
-rw-r----- 1 mysql mysql 8556 Jun 5 17:04 Tab01.frm
-rw-r----- 1 mysql mysql 163840 Jun 5 17:08 tab01.ibd #插入多次发现,只有小写表名的文件大小在变化.
-rw-r----- 1 mysql mysql 98304 Jun 5 17:05 Tab01.ibd
mysql> system ls -l /mysql/data/test05
total 288
-rw-r----- 1 mysql mysql 61 Jun 5 17:03 db.opt
-rw-r----- 1 mysql mysql 8556 Jun 5 17:03 tab01.frm
-rw-r----- 1 mysql mysql 8556 Jun 5 17:04 Tab01.frm
-rw-r----- 1 mysql mysql 163840 Jun 5 17:08 tab01.ibd
-rw-r----- 1 mysql mysql 98304 Jun 5 17:05 Tab01.ibd

备注:发现将lower_case_table_names参数从默认的0改为1之后,对于原来表的使用是有影响的,查询的也只是查询小写的表,插入也只是插入到小写的表中,虽然通过show tables能够看到大小写的表同时存在.

文档创建时间:2018年6月5日17:20:23

mysql中已经存在某个库中有大小写的表,将lower_case_table_names由0改为1对已经存在的表是否有影响?的更多相关文章

  1. java中源代码和lib库中有包名和类名都相同的类(转)

    https://blog.csdn.net/itachiwwwg/article/details/9003261 当java的源代码中出现了和系统的lib库中的包名与类名完全一样的类时,系统应当怎么加 ...

  2. MYSQL中关于日期处理的函数

    < DOCTYPE HTML PUBLIC -WCDTD HTML TransitionalEN> MySQL数据库中SQL语句中 关于日期.时间\时间戳的函数   一 MySQL 获得当 ...

  3. mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围

    mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint.int.mediumint.smallint 和 tinyint的语 ...

  4. mysql 中时间和日期函数应用

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...

  5. mysql中的sql

    变量 用户变量: 在用户变量前加@ 系统变量: 在系统变量前加@@ 运算符 算术运算符有: +(加), -(减), * (乘), / (除) 和% (求模) 五中运算 位运算符有: & (位于 ...

  6. MySQL中MyISAM和InnoDB两种主流存储引擎的特点

    一.数据库引擎(Engines)的概念 MySQ5.6L的架构图: MySQL的存储引擎全称为(Pluggable Storage Engines)插件式存储引擎.MySQL的所有逻辑概念,包括SQL ...

  7. mysql 中 时间和日期函数

    From: http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html 一.MySQL 获得当前日期时间 函数 1.1 获得当前日 ...

  8. mysql中时间日期函数

    转自:mysql 中 时间和日期函数 一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +- ...

  9. 【Mysql】mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围

    1.bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到 1844674 ...

随机推荐

  1. 适配器模式,装饰模式,代理模式异同<转>

    节前把3个设计模式的学习心得分享了一下,分别是适配器模式,装饰模式,代理模式. 但是似乎越写越有些迷糊,这三种模式都有着一些大同小异的地方,总是有些搞不清. 今天再重新学习下,把学习心得分享给大家一下 ...

  2. 谁能当IBM公司的CEO?

    转自:http://www.ruanyifeng.com/blog/2005/09/ibmceo.html  阮一峰 创业文档 IBM公司的前CEO郭士纳在他的<谁说大象不能跳舞?>一书中 ...

  3. keras系列︱图像多分类训练与利用bottleneck features进行微调(三)

    引自:http://blog.csdn.net/sinat_26917383/article/details/72861152 中文文档:http://keras-cn.readthedocs.io/ ...

  4. Android训练课程(Android Training) - 高效的显示图片

    高效的显示图片(Displaying BitmapsEfficiently) 了解如何使用通用的技术来处理和读取位图对象,让您的用户界面(UI)组件是可响应的,并避免超过你的应用程序内存限制的方式.如 ...

  5. 【oneday_onepage】——How to stretch the life of your SSD storage

    How to stretch the life of your SSD storage July 18, 2013, 9:06 PM — Once a PC enthusiast's dream st ...

  6. CentOS 7系统LAMP配置PHP-FPM的示例

    CentOS 7 系统出来有一段时间了,今天我们来看在vps中的 CentOS 7 中给lamp环境配置php-fpm的过程,希望文章可以帮助到各位. CentOS 7 已经发布,并且采用 Apach ...

  7. Oracle IF-ELSE 条件判断结构

    1. IF 语法 IF 表达式 THEN ... END IF; 例如: set serverout on declare v_name varchar2(20):='&name'; begi ...

  8. ggplot2 pdf import in Adobe Illustrator missing font AdobePiStd

    The font AdobePiStd is missing. Affected text will be displayed using a substitute font. 缺少字体 AdobeP ...

  9. Qt封装QTcpServer参考资料--QT4中构建多线程的服务器

    首先说一下对多线程这个名词的理解过程.以前听说过很多次多线程这个词,而且往往与服务器联系起来,因此一直把多线程误解为服务器特有的功能:直到这次课程设计,仔细学习了一下多线程的机制,才知道真正的意思.简 ...

  10. 【转】【WPF】WPF中MeasureOverride ArrangeOverride 的理解

    1. Measure Arrange这两个方法是UIElement的方法 MeasureOverride ArrangeOverride这两个方法是FrameworkElement的方法,Framew ...