MySQL参数lower_case_table_names

2021/5/1 19:26:11

本文主要是介绍MySQL参数lower_case_table_names,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

先看官方网介绍:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html

这是一个全局参数,参数文件里面的命令行模式设置是--lower-case-table-names=1

默认是不打开的,值的类型是Integer,默认值为0,最小值1,最大值2.

0:表名字是存储给定的大小并且是区分大小写的。

1:表名字存储在磁盘是小写的,但是比较的时候不区分大小写。

2:存储的时候是按照给定的大小写存储的,比较的时候是按照小写的方式比较。

 

按照惯例来说,是不应该设置成0值的。因为事先你是不知道mysql服务部署的linux服务器的文件系统对大小写的支持程度。另外修改这个参数的时候,会对replaction状态下的只读库会有一定的影响,所以需要谨慎操作。

 

如何修改这个值呢?

1、修改my.cnf,直接设置lower_case_table_names = 1(如果测试环境的话,可以立即重启数据库生效)

2、命令行修改global,set global lower_case_table_names =1;

 

如何安全的在现有业务库上进行这个参数的变更?

1、建立一个新库,设置大小写敏感

2、从老库对数据进行同步到新库

3、业务低峰期,通过类似vip的方式,将业务从老库切换到新库

 



这篇关于MySQL参数lower_case_table_names的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程