MySql数据库在Linux系统下默认数据库名与表名严格区分大小写,一般情况下我们创建表名习惯使用全小写,如果遇到某些从Windows服务器迁移过来的数据库可能需要设置大小写不敏感
Windows 下所有内容大小写不敏感。
Linux 下默认大小写规则如下:
lower_case_file_system:数据目录所在的文件系统对文件名的大小写敏感
lower_case_table_names:表名与数据库名大小写敏感
vi /etc/my.cnf
# 添加或修改
lower_case_table_names=1
# 重启MySql
# 使用 service 启动
service mysqld restart
# 使用 mysqld 脚本启动
/etc/inint.d/mysqld restart
一般来说在建库配置之初就应当确认好是否需要大小写敏感。
为了避免大小写引发的问题,一种推荐的命名规则是:
在定义数据库、表、列的时候全部采用小写字母加下划线的方式,不使用任何大写字母
因为 lower_case_table_names 并不是个动态参数,修改需要重启数据库
同时对于库中已有的大些字母表名或库名需要导出重新导入
简而言之,这是个麻烦事儿
温馨提示:系统将通过浏览器临时记忆您曾经填写的个人信息且支持修改,评论提交后仅自己可见,内容需要经过审核后方可全面展示。