Linux系统下MySql表名大小写敏感问题

时间:2024-03-05 09:58:52

mysql是通过lower_case_table_names变量来处理大小写问题的。 
首先查询该变量

 

mysql在Linux下数据库名、表名、列名、表别名大小写规则如下:

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

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

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

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

mysql在windows下都不区分大小写。

Linux下设置mysql大小写不敏感:

1、连接数据库

例如:mysql -uroot  -p123

root@test:/home# mysql -uroot -proot   <uroot是用户名,proot是密码>

 

2.查看当前MYSQL字符集[在mysql命令行模式下执行]:

show variables like \'character%\';

 

3.查询大小写敏感

show Variables like \'%table_names\'

 

查询结果: 显示0 是开启大小敏感的  

lower_case_table_names=0(默认)区分大小写,lower_case_table_names=1表示不区分大小写

3.更改解决

修改/etc/my.cnf,在[mysqld]后边添加lower_case_table_names=1 重启mysql服务,这时已设置成功

 

完了记得重新启动mysql服务

一、启动方式

1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:safe_mysqld&

二、停止

1、使用 service 启动:service mysqld stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
3、mysqladmin shutdown

三、重启
1、使用 service 启动:service mysqld restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart