【每日一记6】+第10天 CentOS下无法正常获取MySQL数据库表数据的问题
  

zqm 2635

{{ttag.title}}
本帖最后由 zqm 于 2020-4-13 15:16 编辑

    目前技术框架使用JSF(richfaces、facelets)+Spring+JPA(OpenJPA),不使用数据库依赖的触发器或存储过程,所有业务逻辑在web服务器上执行,因此数据库基本不用考虑移植问题。但是本来在windows下运行正常的系统,在linux下却没法获取一些表的内容。由于数据库的初始化,最初只是体现在几个需要手工维护的表数据上,最终却发现原来是因为数据库表名大小写的问题
具体操作过程:
  1、在windows下,使用MySQL的客户端工具“Navicat”,将当前的数据库导出到test.sql文件中。说明:导出的.sql文件中,所有的表名都是小写。
  2、将导出的.sql文件拷贝至linux下,导入需要使用的数据库中
  3、启动web服务器,访问服务。问题出现:许多表无法访问。
       4、在mysql中使用“show tables;”命令,发现表名有重复,重复的表名区别在于大小写,大写的表名与对应的实体bean名相同。找到问题:表名大小写造成的数据无法访问。 (linux 下的 MySQL 安装完后,默认区分表名的大小写,不区分列名的大小写;Windows下默认不区分大小写 )
上述问题有两种解决方案:
 在JPA的实体bean的声明中,使用“Table”的“name”属性,指定表名,表名尽量全部使用小写,不同单词之间使用下划线连接
  使用Linux下MySQL的相关参数,使MySQL不区分大小写( lower_case_table_names=1 )
  上述两种方法,第一种是较为通用的解决方案,但是需要开发人员更改全部的实体bean,然后重新编译;第二种方案适合于系统已经进入生产环境的状况,并且对如何修改linux下的MySQL配置需要一定的专业知识及经验,对实施人员技术要求较高。
关于如何修改CentOS下的MySQL不区分大小写的具体操作方法:
  用 root 帐号登录后,在 etc/my.cnf 中的 [mysqld] 后添加添加 lower_case_table_names=1 ,重启Mysqld 服务。服务重新启动之后,已设置成功:不区分表名的大小写
  关于lower_case_table_names 参数详解: lower_case_table_names参数有两个值:[0、1 ]其中0 :区分大小写,1 :不区分大小写
  补充说明:
  关于持久层,使用Spring自动生成的DDL来创建对应的持久层数据库表及索引等数据,简化实施工作的复杂度

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

小鱼儿 发表于 2023-11-6 20:15
  

学习了,谢谢分享!
小西北 发表于 2023-11-6 20:16
  

学习了,谢谢分享!
梦境人生 发表于 2023-11-6 20:16
  

学习了,谢谢分享!
唐三平 发表于 2023-11-6 20:16
  

学习了,谢谢分享!
鲤鲤 发表于 2023-11-6 20:22
  
学习了,谢谢分享!
日出 发表于 2023-11-6 20:24
  
学习了,谢谢分享!
朱墩2 发表于 2023-11-6 20:26
  
学习了,谢谢分享!
小德 发表于 2023-11-6 20:31
  
学习了,谢谢分享!
飞飞侠 发表于 2023-11-6 20:33
  
学习了,谢谢分享!
发表新帖
热门标签
全部标签>
西北区每日一问
干货满满
每日一问
技术盲盒
技术笔记
产品连连看
GIF动图学习
技术咨询
新版本体验
标准化排查
安装部署配置
功能体验
2023技术争霸赛专题
秒懂零信任
信服课堂视频
日志审计
解决方案
设备维护
社区新周刊
答题自测
升级
VPN 对接
自助服务平台操作指引
高手请过招
技术圆桌
玩转零信任
信服圈儿
通用技术
技术晨报
畅聊IT
专家问答
在线直播
MVP
网络基础知识
安全攻防
上网策略
测试报告
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
【每周新见闻】

本版达人

新手89785...

本周建议达人

新手78183...

本周分享达人