有关于mysql 在linux下去分表名大小写的问题

我做开发时候是用windows 的   所以没感觉 

今天部署自己做的一个yii 项目到linux的时候发现的一个问题,

yii 的rbac 的表找不到   报错如下

 

CDbCommand 无法执行 SQL 语句: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'si_manager.AuthAssignment' doesn't exist. The SQL statement executed was: SELECT * FROM `AuthAssignment` WHERE userid=:userid

 

但是我去看我linux的机器是有这个数据表的

image

仔细看提示,是大小写略微不同,之后手工执行出错的语句,同样报错,于是确定是大小写问题   

 

于是google   得知mysql在linux下表名是去分大小写的     只不过有配置改成不区分   非常简单

 

在/etc/my.cnf 里的[mysqld] 下面增加lower_case_table_names=1 这一句话即可

image

你可能感兴趣的:(linux)