首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Amazon RDS中的lower_case_table_names设置

Amazon RDS中的lower_case_table_names设置
EN

Stack Overflow用户
提问于 2015-12-10 21:39:59
回答 3查看 7.4K关注 0票数 8

我们在Amazon RDS中有一个数据库实例和一个数据库。(默认情况下是其lower_case_table_names=0)。

现在我已经在同一个实例中创建了另一个DB。对于新站点,由于表名的大小写敏感,其给出的表未找到错误。

因此,我在RDS中为该实例更改了lower_case_table_names=1 (因为不允许使用2)。新站点开始工作,但未找到旧站点提供的错误表。

有什么解决方案吗?我想设置lower_case_table_names=1,这样问题就不会出现在新的数据库中。

提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2017-08-08 17:34:05

我遇到了同样的问题,默认情况下,当您使用AWS RDS创建新的MySQL实例时,它将使用默认参数组,问题是您不能更改此默认参数组中的任何参数。要更改参数值,您必须创建一个新的参数组。下面是你是如何做到的:

  1. 在左侧面板上,转至参数组>创建参数组>提供名称和说明>创建>搜索所需的参数,在本例中为"lower_case_table_names“>编辑参数,将其更改为1>保存。
  2. 左侧面板上的实例>在内容面板中选择实例操作>修改>数据库选项>数据库参数组>选择所需的参数组>继续>重新启动实例>等待几分钟然后全部设置

希望它能有所帮助:)

票数 12
EN

Stack Overflow用户

发布于 2015-12-11 00:02:23

在通过设置lower_case_table_names=1进行配置之后,尝试导出数据库并再次导入它。

票数 2
EN

Stack Overflow用户

发布于 2019-02-21 17:59:01

如果您设置了lower_case_table_names=1参数,则DB将从该点开始将所有新创建的表名转换为小写。它还会在查找之前将所有DB查询中的表名转换为小写。

但是,如果在启用该参数之前,数据库中已经有一组表,则不会更改这些表。由于查询被转换为小写,您的应用程序将告诉您"table not found“,因为实际的表是大写的,而查找是以小写进行的。

我可以通过以下步骤来解决这个问题。

在启用参数之前,将所有DB导出到文件中,如果已经从DB server

  • (Disable enabled)

  • Delete

中应用了所有DB,请重新启动服务器

这将在导入时将所有新表名转换为小写。因为查找也是小写的,所以不会有任何问题。

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

https://stackoverflow.com/questions/34203399

复制
相关文章

相似问题

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