今天同事跟我说,他之前在mysql上建的视图没办法更改,更改的时候报如下错误:

SQL Error 1227: Access denied; you need the SUPER privilege for this operation

起初,我以为是权限的问题,查了半天,权限明明是有的,新增了如下两条授权条件,还是不行:

grant 操作 MySQL 视图、查看视图源代码 权限:
grant create view on testdb.* to developer@’192.168.0.%’;
grant show view on testdb.* to developer@’192.168.0.%’;

    

    最后实在没办法,自己新建个视图,竟然能创建成功,也能更改自己的刚刚创建的视图,这说明,用户的权限没有问题;最后想到那应该就是创建视图定义人的问题了,去看了一下,果然,这些视图虽然都是同一个用户名创建的,但之前授权的是原公司的公网IP,最近公司的公网IP变了导致 ,更改了定义人之后,搞定,如下图:

wKioL1Qb-cbCYWgpAAF5yyaSEjE925.jpg