Mysql修改大小写敏感

本文介绍了在CentOS 6.5系统中将MySQL升级到5.6版本后遇到的数据库名称和表名称大小写敏感问题。在Linux环境下,MySQL的数据库名和表名默认对大小写敏感,而列名则不敏感。文章还提供了通过配置文件调整此行为的方法。

今天在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即可。

在Linux环境下修改MySQL数据库的大小写敏感配置,主要涉及对MySQL配置文件的编辑,以及对特定参数的设置。以下是详细的步骤说明: ### 修改MySQL大小写敏感配置 MySQL在Linux环境下默认是区分大小写的,这种行为主要由`lower_case_table_names`参数控制。这个参数决定了MySQL如何处理表名的大小写敏感性。该参数是一个只读变量,不能在MySQL运行时动态修改,必须在配置文件中进行设置,并重启MySQL服务后生效。 #### 1. 找到MySQL的配置文件 不同的Linux发行版,MySQL的配置文件位置可能不同。常见的位置包括: - Ubuntu: `/etc/mysql/mysql.conf.d/mysqld.cnf` - CentOS: `/etc/my.cnf` #### 2. 编辑配置文件 使用具有足够权限的文本编辑器(如`vim`)打开配置文件,并找到`[mysqld]`部分。在这个部分下添加或修改以下配置: ```ini [mysqld] lower_case_table_names=1 ``` - `lower_case_table_names=1`表示MySQL将表名转换为小写存储,并且在查询时不区分大小写。 - 如果希望保持大小写敏感,则应设置为`lower_case_table_names=0`。 #### 3. 重启MySQL服务 保存配置文件更改后,需要重启MySQL服务以使新的配置生效。可以使用以下命令重启MySQL服务: ```bash sudo systemctl restart mysql ``` 或者,在某些系统上可能是: ```bash sudo service mysql restart ``` #### 4. 验证配置更改 重启MySQL服务后,可以通过执行SQL查询来验证`lower_case_table_names`的当前值: ```sql SHOW VARIABLES LIKE 'lower_case_table_names'; ``` 此查询将显示当前MySQL实例的`lower_case_table_names`变量值,从而确认配置更改是否成功。 ### 注意事项 - 修改`lower_case_table_names`参数后,已有的表名大小写敏感性不会立即改变,可能需要重建表或数据库来确保新的设置生效。 - 在修改配置文件之前,建议备份原始配置文件,以防更改导致问题时可以恢复。 - 如果MySQL服务无法启动,请检查配置文件是否有语法错误,尤其是`lower_case_table_names`参数是否正确放置在`[mysqld]`部分下。 通过以上步骤,可以在Linux环境下成功修改MySQL数据库的大小写敏感配置。[^3]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值