Linux系统下MySql表名大小写敏感问题
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