windows下mysql表名不自动转换小写配置

mysql5.6版本配置文件有两个

1.默认的配置在program files/MySQL/MySQL Server 5.6/my-default.ini

2.一个在programData/MySQL/MySQL Server 5.6/my.ini

注意需要配置第二个的my.ini添加

[mysqld]

lower_case_table_names=2

 

重启MySQL即可

 

 

引文:

windows 和linux对大小写的敏感性不同而导致的。数据库和表名在 Windows 中是大小写不敏感的 ,而在大多数类型的 Unix 系统中是大小写敏感的

 
windows 下的解决方法:
 
my.ini 里面的mysqld部分

加入 lower_case_table_names=2 

[mysqld]
lower_case_table_names=2
set-variable=lower_case_table_names=0
port= 3306

 

注: 1 表示不区分大小写 2表示区分大小写

 

然后重启mysqld服务器 ,在xampp重启mysqld服务可以通过xampp目录下的mysql_start.bat

 

重启mysqld服务后,命令行进入mysql,要确认已经把 lower_case_table_names值改成2了

 

 

mysql> show variables like '%low%';
+------------------------+---------+
| Variable_name          | Value   |
+------------------------+---------+
| log_slow_queries       | OFF     |
| low_priority_updates   | OFF     |
| lower_case_file_system | ON      |
| lower_case_table_names | 2       |
| max_allowed_packet     | 1047552 |
| slow_launch_time       | 2       |
+------------------------+---------+
6 rows in set (0.06 sec)
 
再次导入product.sql 发现 已 经可以区分大小写 。

=========================================================

Linux平台的tips

原来LINUX下面默认安装MYSQL后:区分表明的大小写,不区分列名的大小写。
又不能阻止HIBERNATE生成大小写固定的SQL,就只有修改MYSQL的配置啦,修改如下:

vi /etc/mysql/my.cnf
在[mysqld]后添加
lower_case_table_names=1

重启MYSQL服务
其中配置文件
lower_case_table_names=0 区分大小写
lower_case_table_names=1 不区分大小写

MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下:
1.数据库名与表名是严格区分大小写的
2.表的别名是严格区分大小写的
3.列名与列的别名在所有的情况下均是忽略大小写的
4.变量名也是严格区分大小写的

MYSQL在WINDOWS下都不区分大小写

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值