首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux上的MySQL区分大小写表名

问Linux上的MySQL区分大小写表名
EN

Database Administration用户
提问于 2012-04-07 09:51:05
回答 2查看 34.3K关注 0票数 6

将MySQL数据库从Windows移到Linux,我遇到的问题是,在Linux上,表的名称是区分大小写的。这是一个问题,因为我正在开发的Java应用程序找不到表。

我已经更改了我的/etc/mysql/my.cnf文件,添加了行:

lower_case_table_names=1

但这并没有改变什么。

我的服务器版本是:5.1.61-0ubuntu0.11.10.1 (Ubuntu)

如何将MySQL配置为忽略表名中的大小写?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-04-07 10:21:09

仅仅更改lower_case_table_names设置是不够的。这需要在导入数据库之前完成(S)。

MySQL 5.1文档列出了在Windows和Linux/UNIX之间移动的过程。这将确保执行区分大小写的所需规则得到遵守。查看并验证您是否按照正确的顺序执行了这些步骤:

若要转换一个或多个完整的数据库,请在设置lower_case_table_names之前将其转储,然后删除数据库,并在设置lower_case_table_names: 1后重新加载它们--使用mysqldump转储每个数据库: mysqldump -- db1 > db1.sql mysqldump --数据库db2 > db2.sql .对必须重新创建的每个数据库执行此操作。2-使用DROP数据库删除每个数据库。3-停止服务器,在lower_case_table_names文件的[mysqld]部分设置\etc\mysql\my.cnf,并重新启动服务器。4-释放每个数据库的转储文件。由于设置了lower_case_table_names,每个数据库和表名将在重新创建时转换为小写: mysql < db1.sql mysql < db2.sql

票数 6
EN

Database Administration用户

发布于 2016-06-29 05:39:33

文件在etc/my.cnf中找到这个# MySQL服务器米舍尔德并设置lower_case_table_names =1

没有必要删除db。它的工作原理,所以首先检查一下这个。原因是lower_case_table_names =1作为Windows的默认值。

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/16198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档