MySQL数据库”mysql SQL Error:1146,SQLState:42S02 “解决方法

项目在开发的时候在Mac平台下开发的,开发完了之后在LINUX环境上部署好之后,运行时MySQL数据库报错,提示为某个表不存在之类的错误信息,后来修改了MySQL的配置文件将大小写敏感去掉,问题解决。
这个问题的根源在于,在 MySQL 中,数据库和表其实就是数据目录下的目录和文件,因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix/Linux 系统中是大小写敏感的。

 

MySQL大小写敏感可以通过配置文件的lower_case_table_names参数来控制。

WINDOWS系统下:
编辑MySQL安装目录下的my.ini 文件,在[mysqld]节下 添加 lower_case_table_names=0 (备注:为0时大小写敏感,为1时大小写不敏感,默认为1),可以实现MySql按照建表Sql语句的大小写状态来定义表名。

LINUX系统下:
编辑/etc/my.cnf文件(提示:如果没有可以用 find /usr -name my.cnf查找),在[mysqld]节下 添加 lower_case_table_names=1 参数,并设置相应的值 (备注:为0时大小写敏感,为1时大小写不敏感,默认为0)。

码字很辛苦,转载请注明来自萝莉部落《MySQL数据库”mysql SQL Error:1146,SQLState:42S02 “解决方法》
posted @ 2014-10-10 09:42  破冰Lab-Cookun  阅读(4163)  评论(0编辑  收藏  举报