linux下mysql默认是要区分表名大小写的。mysql是否区分大小写设置是由参数
lower_case_table_names决定的,其中:
1)lower_case_table_names = 0
区分大小写( 即对表名大小写敏感),默认是这种设置。这样设置后,在mysql里创建的表名带不带大写字母都没有影响,都可以正常读出和被引用。变量lower_case_file_system说明是否数据目录所在的文件系统对文件名的大小写敏感,其中:ON说明对文件名的大小写不敏感,OFF表示敏感。
1)lower_case_table_names = 0
区分大小写( 即对表名大小写敏感),默认是这种设置。这样设置后,在mysql里创建的表名带不带大写字母都没有影响,都可以正常读出和被引用。变量lower_case_file_system说明是否数据目录所在的文件系统对文件名的大小写敏感,其中:ON说明对文件名的大小写不敏感,OFF表示敏感。
1
2
3
4
5
6
7
8
|
mysql> show variables
like
"%case%"
;
+
------------------------+-------+
| Variable_name | Value |
+
------------------------+-------+
| lower_case_file_system |
ON
|
| lower_case_table_names | 0 |
+
------------------------+-------+
2
rows
in
set
(0.00 sec)
|
修改mysql为不区分大小写设置:
[root@test-huanqiu ~]# mysqladmin -uroot -p shutdown //以安全模式关闭数据库
[root@test-huanqiu ~]# cat /etc/my.cnf //添加下面一行设置
.....
[mysqld]
lower_case_table_names=1
.....