ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist
一、MySQL错误现象:
执行创建的存储过程或者触发器报:ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist
二、错误原因:
这样由于创建存储过程或者触发器时间,指定的 DEFINER为 'root'@'%',而在MySQL的权限表( mysql.user)中,并不存在相关的 user和 host:mysql> select host,user,password from mysql.user;
+-------------------------+------+----------+
| host | user | password |
+-------------------------+------+----------+
| localhost | root | |
| aiezu | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| aiezu | | |
+-------------------------+------+----------+
三、解决方案:
执行下面SQL语句,为 'root'@'%'授权即可:grant all privileges on *.* to 'root'@'%' identified by ".";
flush privileges;
select host,user,password from mysql.user;
执行效果: