之前遇到這個問題,終於在網上找的了原因,轉載一下:
網站使用了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及其他部分毫無關係。
轉載: 原文地址