我们在Amazon RDS中有一个数据库实例和一个数据库。(默认情况下是其lower_case_table_names=0)。
现在我已经在同一个实例中创建了另一个DB。对于新站点,由于表名的大小写敏感,其给出的表未找到错误。
因此,我在RDS中为该实例更改了lower_case_table_names=1 (因为不允许使用2)。新站点开始工作,但未找到旧站点提供的错误表。
有什么解决方案吗?我想设置lower_case_table_names=1,这样问题就不会出现在新的数据库中。
提前感谢!
发布于 2017-08-08 17:34:05
我遇到了同样的问题,默认情况下,当您使用AWS RDS创建新的MySQL实例时,它将使用默认参数组,问题是您不能更改此默认参数组中的任何参数。要更改参数值,您必须创建一个新的参数组。下面是你是如何做到的:
希望它能有所帮助:)
发布于 2015-12-11 00:02:23
在通过设置lower_case_table_names=1
进行配置之后,尝试导出数据库并再次导入它。
发布于 2019-02-21 17:59:01
如果您设置了lower_case_table_names=1
参数,则DB将从该点开始将所有新创建的表名转换为小写。它还会在查找之前将所有DB查询中的表名转换为小写。
但是,如果在启用该参数之前,数据库中已经有一组表,则不会更改这些表。由于查询被转换为小写,您的应用程序将告诉您"table not found“,因为实际的表是大写的,而查找是以小写进行的。
我可以通过以下步骤来解决这个问题。
在启用参数之前,将所有DB导出到文件中,如果已经从DB server
中应用了所有DB,请重新启动服务器
这将在导入时将所有新表名转换为小写。因为查找也是小写的,所以不会有任何问题。
https://stackoverflow.com/questions/34203399
复制相似问题