之前遇到这个问题,终于在网上找的了原因,转载一下:
网站使用了yii框架,在一段代码中,非常简单的使用model()->find()之后再save
始终报错:
SQLSTATE[HY000]: General error: 1449 The user specified as a definer ('root'@'%') does not exist
百思不得其解,所有的配置中已经修改为其他mysql用户了,搜索了全部的代码,并没有指定mysql数据库使用root用户的部分。
开始怀疑是不是yii有bug,找了好久后,发现。
是因为要save()的表里面有一个Trigger。
而最恶心的是,这个Trigger居然还定义了一个Difiner是root@%。
先Drop trigger
再重新create trigger
问题解决了。
那个报错就是mysql数据库的报错,与yii及其他部分毫无关系。
转载: 原文地址