Docker 修改MySQL表大小写敏感

本文介绍了解决MySQL表名在Linux环境下大小写敏感的问题。通过调整MySQL配置文件中的`lower_case_table_names`参数,使表名在Linux中也能实现大小写不敏感,确保了跨平台的一致性。

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

        最近遇到一个问题,项目在Windows里运行正常,但在Linux里运行时就报错,提示好多表不存在,经过排查发现MySQL数据库中表名是大写的,然后报错信息里表名是小写的,于是我大胆的推测可能是Linux里MySQL默认对表大小写敏感,经过修改最后项目在Linux里也成功运行。

查看MySQL是否对表大小写敏感

   查询结果:

        lower_case_table_names=0(默认)区分大小写

        lower_case_table_names=1表示不区分大小写

show Variables like '%table_names';

修改操作

        修改/etc/my.cnf,在[mysqld]后边添加lower_case_table_names=1 重启mysql服务。

其他

        MySQL在linux里是对表名大小写敏感,而在Windows中是对表名大小写不敏感的。

Docker 修改mysql 表大小写敏感

        由于Linux里我是用Docker部署MySQL的,而mysql容器中没有vi命令也没有vim命令,又不想装,于是就用另外一种方式。

1.查看mysql配置文件 mysqld.cnf

docker exec b0aec76e2859 cat /etc/mysql/mysql.conf.d/mysqld.cnf

2.将配置文件mysqld.cnf从容器复制到宿主机/home

docker cp   b0aec76e2859:/etc/mysql/mysql.conf.d/mysqld.cnf  /home/mysqld.cnf

3.在配置文件mysqld.cnf中添加 lower_case_table_names=1

   进入到/home目录下,找到mysqld.cnf,这里直接用vim改就好

4.将配置文件从宿主机复制到容器

docker cp /home/mysqld.cnf b0aec76e2859:/etc/mysql/mysql.conf.d/

5.重新启动容器

docker restart b0aec76e2859
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像向日葵一样~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值