您的位置:首页 > 数据库 > MySQL

Mysql修改大小写敏感

2015-06-16 00:20 645 查看
今天在centos6.5系统中,将mysql升级到5.6版本,发现Mysql数据库和表名对大小写敏感,列名对大小写不敏感。

然后百度了一番,发现:

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

  1、数据库名与表名是严格区分大小写的;

  2、表的别名是严格区分大小写的;

  3、列名与列的别名在所有的情况下均是忽略大小写的;

  4、变量名也是严格区分大小写的;

MySQL在Windows下都不区分大小写。

原因是:在 MySQL 中,数据库和表对应于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。

查看大小写是否敏感:

mysql> show variables like ‘%case%’;

+————————+——-+

| Variable_name | Value |

+————————+——-+

| lower_case_file_system | OFF |

| lower_case_table_names | 0 |

+————————+——-+

处理方法:

编辑/etc/my.cnf文件,在[mysqld]节下 添加 lower_case_table_names=1 参数,并设置相应的值 (备注:为0时大小写敏感,为1时大小写不敏感,默认为0)。

但是由于采用rpm安装方式,在/etc下并没有my.cnf这个文件,可以将/usr/local/mysql/support-files 下的my-default.cnf 拷贝到/etc下,修改为my.cnf。在最后增加一行:lower_case_table_names=1

最后,重启mysql即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql