linux 把mysql大小写关闭_linux MYSQL大小写问题处理

在Linux环境下,MySQL默认对表名大小写敏感,与Windows不同。为实现大小写不敏感,需要编辑/etc/my.cnf配置文件,添加`lower_case_table_names=1`。未配置时,创建的大小写不同表被视为两张独立表,可能导致数据操作错误,如在使用LOCK TABLES时遇到1066错误。解决方案是删除库中带有大写字符的表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)window下默认大小写不敏感,所以在window下.创建表 test后再想创建表TEST会报错.而linux下默认可以.认为是不同的两张表

2)linux创建数据库,安装完毕后 首要任务是在linux下配置 vi /etc/my.cnf文件,增加lower_case_table_names=1的配置,如图(1 在计算机界就是 YES的意思, 所以这里意思就是 不区分大小写(大小写不敏感)):

f18b604ad04a8df621d22753c5c8ac21.png

3)测试linux如果没配置,默认大小写敏感的情况

1' 能创建test和TEST表. select语句严格按照大小写敏感方式查出结果.

43de8bd1cb79a237bdff36a271ab1cea.png

17225906483ef5a466d46172fc718226.png

d01aefb2c80112968839d07a75a344f7.png

2)配置增加大小写不敏感后:

查询:

f1c25ba2c6e90e9eab5c4a8c4c19b5e1.png

说明其实大写的表已经作废,根本不会查询到.

如果进一步删除小写的表. 再查询,一样查询不到:

ea4486b867aca173b19993a62ca09c9e.png

3)往往运维一开始不注意这些问题,导致dump的时候出现 Got error: 1066: Not unique table/alias: 'act_evt_log' when using LOCK TABLES的情况.

这就是因为 库内有大小写的两张表的缘故. (解决方式:删除有大写字符的表即可)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值