首先解释一下错误是如何产生的:(gw和gw1都是普通用户)
1.用户gw在数据库gw创建一个视图:v_t1
2.用户gw1和root都可以访问数据库gw,查询v_t1没有问题
3.如果删除用户gw,那么gw1和root在访问视图v_t1的时候都报错,但是报错不一样,分别如下:
gw1(普通用户):
mysql> select * from v_t1;
ERROR 1045 (28000): Access denied for user 'gw1'@'localhost' (using password: YES)
这个报错有点不好,容易让人误解。
root用户:
mysql> select * from v_t1;
ERROR 1449 (HY000): The user specified as a definer ('gw'@'localhost') does not exist
解决方法如下:
1.再次创建gw这个用户
2.获取这个视图的创建语句:select table_schema,table_name,definer,view_definition from views;然后删除这个视图,用gw1用户重建这个视图。
如需转载,请注明出处:http://blog.csdn.net/nanaranran/article/details/19151433