开发者社区> 玄学酱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CentOS下无法正常获取MySQL数据库表数据的问题

简介:
+关注继续查看
之前,由于客户要求在centOS下安装系统应用,因此有机会接触了一下CentOS,顺便也了解了下CentOS的常规操作,还有在CentOS下的MySQL相关操作。

  目前技术框架使用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”属性,指定表名,表名尽量全部使用小写,不同单词之间使用下划线连接

  例如:

@Table(name="sys_user")

  ● 使用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来创建对应的持久层数据库表及索引等数据,简化实施工作的复杂度








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS 7.x安装mysql
应用场景 当使用centos 7.x系统的时候,安装mysql数据库,与之前的方法有些区别,因为CentOS 7将mysql数据库软件从默认的程序列表中移除了,用mariadb代替。
638 0
CentOS 7 - 安装MySQL 5.7
CentOS 7的默认yum仓库中并没有MySQL5.7,我们需要手动添加,好在MySQL官方提供了仓库的地址,所以我们能够比较简单地安装MySQL。
944 0
centos安装mysql
centos安装mysql
0 0
CentOS上如何顺利地安装MySQL?
CentOS上如何顺利地安装MySQL?
0 0
CentOs安装MySQL
CentOs安装MySQL
0 0
手把手教你在centos上安装MySQL(避坑必备)
手把手教你在centos上安装MySQL(避坑必备)
0 0
Centos安装Mysql
如何在阿里云服务器上安装Mysql
0 0
CentOS 安装 MySQL
CentOS 安装 MySQL
0 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
文章排行榜
最热
最新
相关电子书
更多
冬季实战营第三期:MySQL数据库进阶实战
立即下载
OPTIMIZING SPARK DEPLOYMENTS FOR CONTAINERS: ISOLATION, SAFETY, AND PERFORMANCE
立即下载
新零售时代, 特步的供应链转型升级之路
立即下载