当前位置: 首页 >> MySQL >> 【linux】mysql SQL Error: 1146, SQLState: 42S02 (linux) >> 正文

【linux】mysql SQL Error: 1146, SQLState: 42S02 (linux)

2016年05月05日 15:06:22    作者:Jiaozn    分类:MySQL     评论(0)

问题: 

mysql SQL Error: 1146, SQLState: 42S02 (linux)
Table 'database1.SYS_USER' doesn't exist

 

原因:

Linux系统大小写敏感的原因

 

linux中mysql区分 大小写 解决方法:

linux中mysql区分 大小写 解决方法
项目在开发的时候在Windows平台下开发的,开发完了之后在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文件,在[mysqld]节下 添加 lower_case_table_names=1 参数,并设置相应的值 (备注:为0时大小写敏感,为1时大小写不敏感,默认为0)。

 

除非注明,发表在“Jiaozn的博客”的文章『【linux】mysql SQL Error: 1146, SQLState: 42S02 (linux)』版权归Jiaozn所有。 转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://jiaozn.com/reed/287.html

评论

发表评论   

昵称*

E-mail*

网站