首页 » 数据库技术 » mysql view 权限问题

mysql view 权限问题

 

从开发机器把数据库给创建到分布式环境上,碰到个问题,就是远程用户无法读取view里面的内容

当时想的很简单,使用grant show view on dbname.* to myname@'192.168.1.%'即可,

查看权限 show grants for myname@'192.168.1.%',增删改差,视图权限都有

后来发现不是那回事,依旧是权限失败,

使用 root权限登录 mysql ,select * from view 发现会提示:

ERROR 1449 (HY000): The user specified as a definer ('my'@'%') does not exist。

这个my从哪里来的呢?开发机的数据库名,怎么到这里,百思不得其解,后来想想开发机数据库就是这个名字,经过查资料,发现是标的definer的问题,需要修改,于是就简单了,先看看create view的语句

show create view 视图表名;

看到长长的一串创建视图名字了吧

CREATE ALGORITHM=UNDEFINED DEFINER=my@% SQL SECURITY DEFINER VIEW 视图表名 AS select g.id AS ..........省略后边的

我们的工作就是把create 换成 alter ,把 definer里面的东西修改为自己的,执行命令

冬天结束。

 

原文链接:mysql view 权限问题,转载请注明来源!

0