RDS for MySQL大小写参数敏感类问题
场景描述
用户将RDS for MySQL的“lower_case_table_names”设置成“大小写敏感”的状态时,创建了带有大写字母的表,如“tbl_newsTalking”,但后期改变了大小写敏感的设置状态后,无法找到该表。
案例:在执行备份恢复到新实例的时候,如果新实例的“大小写敏感”参数值与备份时原实例的参数值不一致,会导致恢复失败。
更多敏感参数,请参见《云数据库RDS用户指南》中“RDS for MySQL参数调优建议”的内容。
- 对于MySQL 5.6、5.7版本,支持在管理控制台或API创建数据库实例时指定表名大小写敏感,以及实例创建完成后设置表名大小写敏感(lower_case_table_names)。
- 对于MySQL 8.0版本,仅支持在管理控制台或API创建数据库实例时指定表名大小写敏感,创建完成的MySQL 8.0实例不支持设置表名大小写敏感(lower_case_table_names)。
解决方案
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域。
- 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
- 在“实例管理”页面,单击主实例名称,进入实例的概览页面。
- 在左侧导航栏中选择“参数修改”。
- 修改“lower_case_table_names”值为“0”,即区分大小写。
- 单击“保存”,在弹出框中单击“是”,保存修改。
- 返回实例列表,选择“更多 > 重启实例”。
- 在弹框中,单击“确定”重启实例,使参数修改生效。
- 登录数据库,将带大写字母的表名,改为小写字母。
- 修改“lower_case_table_names”值为“1”,即不区分大小写。
- 再次重启实例。