错误:The user specified as a definer (‘root‘@‘%‘) does not exist

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;

 

 

 

 

 

posted @ 2022-11-09 10:02  许宝  阅读(360)  评论(0编辑  收藏  举报