Php Amazon RDS中的小写字母表名称设置

Php Amazon RDS中的小写字母表名称设置,php,mysql,amazon-rds,Php,Mysql,Amazon Rds,我们在AmazonRDS中有一个数据库实例和一个DB。(默认情况下,其小写字母表名称=0) 现在我在同一个实例中创建了另一个DB。 对于新站点,由于区分大小写的表名,未找到其给定表错误 因此,我在RDS中为该实例更改了小写字母表名称=1(因为不允许使用2)。 新站点开始工作,但未找到提供错误表的旧站点 有解决办法吗?我想将小写字母表名称设置为1,这样新数据库就不会出现问题 提前谢谢 通过设置lower\u case\u table\u names=1进行配置后,尝试导出数据库并再次导入。我遇到了

我们在AmazonRDS中有一个数据库实例和一个DB。(默认情况下,其小写字母表名称=0)

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

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

有解决办法吗?我想将小写字母表名称设置为1,这样新数据库就不会出现问题


提前谢谢

通过设置
lower\u case\u table\u names=1进行配置后,尝试导出数据库并再次导入。

我遇到了同样的问题,默认情况下,当您使用AWS RDS创建新的MySQL实例时,它将使用默认参数组,问题是您无法更改此默认参数组中的任何参数。要更改参数值,必须创建新的参数组。以下是您的操作方法:

  • 在左侧面板上,转到参数组>创建参数组>给出名称和说明>创建>搜索所需参数,在本例中为“小写字母表名称”>编辑参数,将其更改为1>保存
  • 在左侧面板上,转到内容面板中的实例>选择实例操作>修改>数据库选项>数据库参数组>选择所需的参数组>继续>重新启动实例>等待几分钟,然后一切就绪

  • 希望有帮助:)

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

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

    我可以通过以下步骤解决此问题

  • 在启用参数之前,将所有数据库导出到文件()
  • (禁用参数并重新启动服务器(如果已启用)
  • 从数据库服务器中删除所有数据库
  • 启用参数
  • 重新启动服务器以应用更改
  • 导入导出的DBs

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

    Db是巨大的。客户端不想关闭站点:-(很明显,在AWS RDS上,您必须创建一个
    “参数组”
    ,然后修改实例以使用它,最后重新启动实例。请注意,删除以前命名为case的旧表可能是个好主意,因为在此更改后您可能无法访问它们。当然,不要对生产数据执行此操作:)100%完美,@hung vu。谢谢我的回答是
    (等待重新启动)
    ,就像您在
    参数组下的配置部分所说的那样。阅读后,我按说明重新启动。