The user specified as a definer ('root'@'%') does not exist

    昨天程序员在用insert into 往表里插入数据时,报“The user specified as a definer ('root'@'%') does not exist”错,经过一系列排查之后发现,原来之前的触发器定义如下:

Definer: root@%

由于root权限已回收,给程序员新开使用的用户名是smsdev,导致mysql认为现在的用户在触发器上没有定义,之后让程序员update了一下该表的触发器:

Definer: root@%--〉 Definer: smsdev@%

更新之后,再往表里插入数据,就恢复正常了。


可能使用到的mysql命令如下:

mysql> show procedure status;              //查看数据库中的存储过程;

mysql> show function status;  //查看数据库中的函数;

mysql> show triggers\G;   //查看数据库中的触发器;

mysql> show table status where comment='view';  //查看视图;

mysql> select * from  information_schema.VIEWS limit 4\G;

 

 

你可能感兴趣的:(存储过程,触发器,视图,exist,not,does,DEFINER)