MariaDB 10.3设置lower_case_table_names = 1不区分大小写不生效

博主在将数据库升级至MariaDB10.3后遭遇大量表因大小写问题无法识别。通过修改/etc/my.cnf.d/server.cnf文件中的lower_case_table_names参数尝试解决,但设置未生效。最终在/etc/my.cnf中加入配置并重启数据库成功。表名大小写敏感度取决于lower_case_table_names参数设置,需重新建表并确保备份。

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

昨天数据库升级到MariaDB 10.3,结果大量的表因为表面大小写的出现table '*****' doesn't exist.

通过查阅,修改配置/etc/my.cnf.d/server.cnf

[mysqld] 下加入 lower_case_table_names=1,结果通过 service mysql restart 重启多次,设置都不生效.

新建前请备份数据库!

新建前请备份数据库!

新建前请备份数据库!

最后尝试新建了/etc/my.cnf,在里面加入配置,重启后竟然成功了.没有了解到具体怎么回事.如果有大佬看到希望解释下

设置成功后,表名大写的表在每次打开库的时候都会一闪而过,然后不见了.

看到解释说的是:
lower_case_table_names: 此参数不可以动态修改,必须重启数据库
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写

然后,所以需要重新建表.....千万要备份~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值