当前位置:网站首页>Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案
Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案
2022-08-04 05:34:00 【m0_67402096】
问题情景
在使用洛伊框架的时候,数据库表找不到的问题。下结论是mysql区分大小写导致的问题。
lower_case_table_names 参数
官方原话,简单来说就是,unix默认是0,windows默认是1,mac是2。
0是区分大小写的,1是不区分的,也就是windows是默认不区分大小写的。
On Unix, the default value of lower_case_table_names is 0. On Windows, the default value is 1. On macOS, the default value is 2.
问题解决
我翻阅了大量资料,都是说在配置文件配置lower_case_table_names=1,重启服务可以解决问题。
后来经过我查阅mysql官方文档资料发现:该解决方案只能在5.6/5.7低版本的mysql中有效。
但是在8.0版本下是行不通的,就算怎么做lower_case_table_names变量也没有得到更新。
官方mysql8.0版本新增的一条说明
lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.
翻译:
LOWER_CASE_TABLE_NAMES只能在初始化服务器时配置。禁止在服务器初始化后更改LOWER_CASE_TABLE_NAMES设置。
也就是说在8.0版本,你的mysql已经初始化过就不支持修改lower_case_table_names参数了!!
如果你的是8版本这边建议你直接重装。
在my.cnf(可能名字不同)文件中添加lower_case_table_names=1
在初始化的时候需要指定lower_case_table_names=1参数
这是我找到最靠谱的重装教程:https://blog.csdn.net/qq_37598011/article/details/93489404
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
复杂格式的json转递
Uos统信系统 DISK(RAID+LVM)
基于Webrtc和Janus的多人视频会议系统开发7 - publish和subscribe声音设备冲突导致对方听不到声音
U-Net详解:为什么它适合做医学图像分割?(基于tf-Kersa复现代码)
JUC锁框架——初识AQS
QT signals 保存到 QMap
JUC并发容器——跳表
bitnami/mongodb-sharded在AWS EKS扩展shard失败解决
JUC并发容器——阻塞队列
golang 的库引用方法
狗都能看懂的Pytorch MAML代码详解
学好网络安全看这篇文章让你少走弯路
matlab的2DCNN、1DCNN、BP、SVM故障诊断与结果可视化
安全漏洞是如何被发现的?
webrtc代码解读二:音视频播放同步过程
JVM intro
C#找系统文件夹路径
ssm pom文件依赖 web.xml配置
键盘扫描码
电脑知识:台式电脑应该选择品牌和组装,值得收藏









