mysql不区分大小写配置

原文链接

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,重启生效。

③、导入数据至实例,此时包含大写字母的库名已转换为小写。

你可能感兴趣的:(mysql,mysql,数据库)