Fantasy life

明月三千里

  • 博客访问: 745715
  • 博文数量: 157
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-28 23:51
  • 认证徽章:
个人简介

转载请注明出处: 作者:神谕。博客地址:http://blog.itpub.net/29773961/。

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(157)

文章存档

2018年(4)

2017年(23)

2016年(38)

2015年(67)

2014年(25)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

分类: MySQL

〇 lower_case_file_system
    该参数是用于描述data目录所在的操作系统是否为大小写敏感,该参数为bool类型,但无法修改。
    0 -- 大小写敏感 
    1 -- 大小写不敏感

    比如跑在linux上的都是OFF或者0。

〇 lower_case_table_names
    该参数为静态,可设置为0、1、2。

0 -- 大小写敏感。(Unix,Linux默认)
创建的库表将原样保存在磁盘上。如create database TeSt;将会创建一个TeSt的目录,create table AbCCC ...将会原样生成AbCCC.frm。
SQL语句也会原样解析。

1 -- 大小写不敏感。(Windows默认)
创建的库表时,MySQL将所有的库表名转换成小写存储在磁盘上。
SQL语句同样会将库表名转换成小写。
如需要查询以前创建的Test_table(生成Test_table.frm文件),即便执行select * from Test_table,也会被转换成select * from test_table,致使报错表不存在。

2 -- 大小写不敏感(OS X默认)
创建的库表将原样保存在磁盘上。
但SQL语句将库表名转换成小写。

修改lower_case_table_names导致的常见不良隐患:
如果在lower_case_table_names=0时,创建了含有大写字母的库表,改为lower_case_table_names=1后,则会无法被查到。

注意事项:
将默认的lower_case_tables_name为0设置成1,需先将已经存在的库表名转换为小写

1)针对仅表名存在大写字母的情况:
①、lower_case_tables_name=0时,执行rename table成小写
②、设置lower_case_tables_name=1,重启生效。

2)针对库名存在大写字母的情况:
①、lower_case_tables_name=0时,使用mysqldump导出,并删除老的数据库。
②、设置lower_case_tables_name=1,重启生效。
③、导入数据至实例,此时包含大写字母的库名已转换为小写。

转换操作需要自行测试,不同操作系统,不同MySQL版本可能有不同的情况。



阅读(50) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册