Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;
root登录,修改/etc/my.cnf,在末尾添加一行:lower_case_table_names=1
lower_case_table_names参数: 0为敏感,1为不敏感。
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
*如果之前已经创建了大写的表名,会在使用上有问题。办法是恢复原来大小写敏感,全部改成小写表名,而后再设置表名大小写不敏感。
etc/my.cnf文件
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
skip-name-resolve
skip-grant-tables
max_allowed_packet = 100M
lower_case_table_names=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8