lower_case_table_names 从0修改为1的注意事项

7,948 total views, 1 views today

在工作中,最初创建MySQL时,使用默认的 lower_case_table_names =0 ,区分表名大小写。后续,为了使用方便,不区分表名大小写,要将lower_case_table_names设置为1。

那么,修改时要注意什么?

先明确的概念:

lower_case_table_names=0,那么t1和T1是两张表。
lower_case_table_names=1,t1和T1就是一张表,因为MySQL会将T1转换成t1。

场景1:表的数据量不多,比如10张以内。

1.直接将大写表名重名为小写表名 RENAME TABLE T1 TO t1;
2.修改配置文件 lower_case_table_names = 1
3.重启MySQL

场景2:需要将1个库或者多个库中的大写表名修改为小写表名

1.使用mysqldump导出每个库

2.删除相关的database

3.修改配置文件 lower_case_table_names = 1
4.重启MySQL
5.导入备份到MySQL,由于lower_case_table_names = 1,导入时MySQL自动将大写表名转成小写表名存储到MySQL中。

发表评论

必填项已用*标注