mysql不区分大小写配置
1、说明
mysql大小写敏感配置与两个参数相关 —— lower_case_file_system 和 lower_case_table_names
lower_case_file_system:表示当前系统文件是否大小写敏感(ON为不敏感,OFF为敏感),只读参数,无法修改。
lower_case_table_names:表示表名是否大小写敏感,可以修改。
lower_case_file_system参数无法修改,因此只能利用lower_case_table_names参数来让mysql不区分大小写。
lower_case_table_names=0:区分大小写
lower_case_table_names=1:不区分大小写
2、添加参数
vi /etc/my.cnf #需要在[mysqld]栏下添加 lower_case_table_names=1这个参数
[mysqld]
skip-grant-tables
basedir = /usr/local/mysql
datadir = /mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE
lower_case_table_names=1
3、重启mysql服务即可。
注意事项:
将默认的lower_case_tables_name为0设置成1,需先将已经存在的库表名转换为小写:
1)针对仅表名存在大写字母的情况:
①、lower_case_tables_name=0时,执行rename table成小写。
②、设置lower_case_tables_name=1,重启生效。
2)针对库名存在大写字母的情况:
①、lower_case_tables_name=0时,使用mysqldump导出,并删除老的数据库。
②、设置lower_case_tables_name=1,重启生效。
③、导入数据至实例,此时包含大写字母的库名已转换为小写。