Karp 的技术博客

设置 触发器的账户不见了, 导致 触发器设置的标 写操作失败了

一、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 |          |
| 127.0.0.1               | root |          |
| ::1                     | root |          |
| localhost               |      |          |
+-------------------------+------+----------+

三、解决方案:

执行下面SQL语句,为'root'@'%'授权即可:

grant all privileges on *.* to 'root'@'%' identified by ".";
flush privileges;
 
select host,user,password from mysql.user;

执行效果:

photo_2024-03-12 20.30.07.jpeg

MySQL error 1449: The user specified as a definer does not exist

mysql

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2024年10月16日 06:32
5

目录

来自 《ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist》
774 文章数
0 评论量
9 分类数
779 页面数
已在风雨中度过 9年277天3小时22分